记录编号 |
49659 |
评测结果 |
AAEEAWWEEE |
题目名称 |
[咲 -Saki-] 天才麻将少女什么编 |
最终得分 |
30 |
用户昵称 |
超级腻害的小蝶子 |
是否通过 |
未通过 |
代码语言 |
Pascal |
运行时间 |
0.029 s |
提交时间 |
2012-11-08 19:38:09 |
内存使用 |
0.31 MiB |
显示代码纯文本
program sakinani;
var tree,slinkl,slinkr,linkl,linkr,w : array[1..200]of longint;
stu,sch,schn : array[1..200]of string;
temp,t : string;
k : integer;
procedure init;
var i,j,k,m,n : integer;
temp,t : string;
flag : boolean;
begin
assign(input,'sakinani.in');
assign(output,'sakinani.out');
reset(input);
rewrite(output);
readln(n);
readln(temp);
j:=pos(' ',temp);
stu[1]:=copy(temp,1,j-1);
delete(temp,1,j);
sch[1]:=temp;
for i:= 2 to n do
begin
readln(temp);
j:=pos(' ',temp);
stu[i]:=copy(temp,1,j-1);
delete(temp,1,j);
sch[i]:=temp;
j:=1;flag:=false;
repeat
if stu[j]>stu[i] then
begin
if linkl[j]=0 then begin linkl[j]:=i ; flag:=true;end
else j:=linkl[j];
end else
if linkr[j]=0 then begin linkr[j]:=i ; flag:=true;end
else j:=linkr[j];
until flag;
end;
readln(k);
for i:= 1 to k do readln;
readln;
end; { init }
procedure find(i :integer );
var j : integer;
flag : boolean;
begin
j:=1;flag:=false;
repeat
if schn[j]=sch[i] then begin inc(w[j]);flag:=true end
else begin
inc(k);schn[k]:=sch[i];
if schn[j]>sch[i] then
begin
if slinkl[j]=0 then begin slinkl[j]:=k ; flag:=true;end
else j:=slinkl[j];
end else
if slinkr[j]=0 then begin slinkr[j]:=k ; flag:=true;end
else j:=slinkr[j];
end;
until flag;
end; { find }
procedure work;
var i,j,m,n : integer;
flag:boolean;
begin
k:=1;
schn[1]:=sch[1];
readln(temp);
while temp<>'' do
begin
j:=1;flag:=false;
repeat
if stu[j]=temp then begin find(j);flag:=true end else
if stu[j]>temp then
begin
if linkl[j]=0 then flag:=true
else j:=linkl[j];
end else
if linkr[j]=0 then flag:=true
else j:=linkr[j];
until flag;
readln(temp)
end;
end; { work }
procedure outp;
var i,j,t : longint;
begin
t:=1;
for i:= 2 to k do
if w[i]>w[t] then t:=i;
write(schn[t]);
end; { outp }
begin
init;
work;
outp;
end.