题解 CF409A 【The Great Game】

无可否认,这是一道模拟水题,题目说什么照做就行了~

既然题目说,"[]"是布"()"是石头"8<"是剪刀,那么,仔细想一想,只需要判断"["、"("和"8"就可以了,因为没有重复的标识符。

我的做法是,分别把三个标识符存为数字1、2、3,并逐一进行比较。

AC代码:

Var x,y:ansistring;
    c,d:array[1..10000] of 0..2;
    a,b,l,i,j:longint;
Begin
        readln(x);
        readln(y);//输入两个字符串
        l:=length(x);//取字符串的长度

        //以下部分为将标识符分别转成1、2、3
        j:=0;
        for i:=1 to l do
        Begin
                //判断
                if x[i]='[' then
                Begin
                        j:=j+1;
                        c[j]:=0;
                end
                else if x[i]='(' then
                Begin
                        j:=j+1;
                        c[j]:=1;
                end
                else if x[i]='8' then
                Begin
                        j:=j+1;
                        c[j]:=2;
                end;
        end;

        j:=0;
        for i:=1 to l do
        Begin
                //判断
                if y[i]='[' then
                Begin
                        j:=j+1;
                        d[j]:=0;
                end
                else if y[i]='(' then
                Begin
                        j:=j+1;
                        d[j]:=1;
                end
                else if y[i]='8' then
                Begin
                        j:=j+1;
                        d[j]:=2;
                end;
        end;

        for i:=1 to l div 2 do //因为长度是首表示符的2倍所以要除以2
        Begin
                if c[i]<>d[i] then
                Begin
                        //判断
                        if (c[i]=0) and (d[i]=1) then
                        Begin
                                a:=a+1;
                        end
                        else if (c[i]=1) and (d[i]=2) then
                        Begin
                                a:=a+1;
                        end
                        else if (c[i]=2) and (d[i]=0) then
                        Begin
                                a:=a+1;
                        end
                        else b:=b+1;
                end;
        end;
        if a>b then write('TEAM 1 WINS')
        else if a<b then write('TEAM 2 WINS')
        else write('TIE');
end.    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cpongo11

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值