| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
牛们来看看……本菜WA了…… const
list:array['A'..'Z']of char=
('2','2','2','3','3','3','4',
'4','4','5','5','5','6','6',
'6','7','-','7','7','8','8',
'8','9','9','9','-');
var
n:longint;
a:array[1..100000]of longint;
procedure init;
var
i,j,l:longint;
s:string;
begin
readln(n);
for i:=1 to n do
begin
readln(s);
l:=length(s);
for j:=1 to l do
if s[j] in ['A'..'Z'] then
s[j]:=list[s[j]];
a[i]:=0;
for j:=1 to l do
if s[j] in ['0'..'9'] then
a[i]:=a[i]*10+ord(s[j])-48;
end;
randomize;
end;
procedure qsort(l,r:longint);
var
i,j,x,temp:longint;
begin
i:=l; j:=r;
x:=a[l+random(r-l+1)];
repeat
while a[i]<x do inc(i);
while a[j]>x do dec(j);
if i<=j then
begin
temp:=a[i];
a[i]:=a[j];
a[j]:=temp;
inc(i);
dec(j);
end;
until i>j;
if l<j then qsort(l,j);
if i<r then qsort(i,r);
end;
procedure print;
var
flag:boolean;
i,count,last:longint;
begin
flag:=false;
last:=a[1];
count:=1;
for i:=2 to n do
begin
if a[i]=last then
begin
inc(count);
continue;
end
else
begin
if count>1 then
begin
writeln(last div 10000,'-',last mod 10000,' ',count);
flag:=true;
end;
count:=1;
last:=a[i];
end;
end;
if not flag then writeln('No duplicates');
end;
begin
init;
qsort(1,n);
print;
end.
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator