竞选班长

无标题文档

竞选班长

时间限制: 1 Sec  内存限制: 32 MB
提交: 91  解决: 47
[提交][状态][讨论版]

题目描述

有A,B,C,D,E五位候选人参加班长竞选,全班同学投票,得票最高者将被选为班长。已知全班人数不超过60人,现要设计一个计票程序,计算各位候选人的得票数,并输出班长的编号。

输入

一行字符,这些字符只包含A,B,C,D,E和*,总长度不超过60。表示选票编号序列,废票用*表示。

输出

一行,输出得票数最多的编号。若最多票数有两人或两人以上相同或选票都是废票,则选举失败,则输出字符串“Nobody”。

样例输入

样例1:ABAD*CBACBB
样例2:EE*AD*C*ACBD

样例输出

样例1:B
样例2:Nobody

 

var
    a:array['A'..'E'of longint;
    s:string;
    i,ans:char;
    j:longint;
    no:boolean;
begin
    readln(s);
    for j:=1 to length(s) do
    begin
        if s[j]='*' then continue;
        inc(a[s[j]]);
    end;
    ans:='A'; no:=false;
    for i:='B' to 'E' do
    begin
        if(a[i]>a[ans]) then begin ans:=i; no:=false; end
        else if(a[i]=a[ans]) then no:=true;
    end;
    if no then writeln('Nobody'else writeln(ans);
end.
posted @ 2013-03-22 19:41  qilinart  阅读(1091)  评论(0)    收藏  举报