描述 Description
在上次的月考中Bugall同学违反了考场纪律还吃了处分,更可气的是在第二天的校会时
间学校就此事做了全校通报. 现已知在当天校会时间有总共N个同学听到了有关Bugall的处分决定.
Bugall同学在铁一有M个朋友,这M个人中有的可能听到了当天的处分决定,有的可能没
有听到,现在Bugall同学想知道他有几个朋友听到了当天的处分通报.
输入格式 Input Format
第一行为一个整数N,从第2行到N+1行,每行用一个长度不超过200的字符串表示
一个人的名字.
第N+2行为一个整数M,从第N+3行到N+M+2行,每行用一个长度不超过200的字符
串表示Bugall同学一个朋友的名字.
输出格式 Output Format
输出有几个Bugall同学的铁一朋友在当天的校会时间听到了Bugall处分通报.保证不重名。
快排+比较=AC
var m,n:longint;
i,j,ans:longint;
friend:array[1..200000]of string;
procedure qsort(l,r:longint);
var i,j:longint;
t,m:string;
begin
i:=l;j:=r;m:=friend[(l+r)div 2];
repeat
while friend[i]<m do inc(i);
while friend[j]>m do dec(j);
if i<=j then
begin
t:=friend[i];friend[i]:=friend[j];friend[j]:=t;
inc(i);dec(j);
end;
until i>j;
if i<r then qsort(i,r);
if l<j then qsort(l,j);
end;
begin
readln(m);
for i:=1 to m do readln(friend[i]);
readln(n);
for j:=1 to n do readln(friend[j+m]);
qsort(1,n+m);
for i:=1 to m+n do if (friend[i]=friend[i+1]) then inc(ans);
writeln(ans);
end.
VijosNT Mini 2.0.5.6
Free Pascal Compiler version 2.6.0 [2011/12/25] for i386
Copyright (c) 1993-2011 by Florian Klaempfl and others
Target OS: Win32 for i386
Compiling foo.pas
foo.pas(27,61) Warning: Variable "ans" does not seem to be initialized
Linking foo.exe
29 lines compiled, 0.1 sec , 29584 bytes code, 1628 bytes data
1 warning(s) issued
#01: Accepted (0ms, 50628KB)
#02: Accepted (0ms, 50628KB)
#03: Accepted (0ms, 50628KB)
#04: Accepted (0ms, 50628KB)
#05: Accepted (0ms, 50632KB)
#06: Accepted (0ms, 50632KB)
#07: Accepted (0ms, 50636KB)
#08: Accepted (0ms, 50636KB)
#09: Accepted (0ms, 50636KB)
#10: Accepted (350ms, 50636KB)
Accepted / 100 / 350ms / 50636KB
转载于:https://www.cnblogs.com/shy-/archive/2012/06/23/2559531.html