1482.cpp

来自「杭电 acm部分代码 有兴趣的可以下载 谢谢」· C++ 代码 · 共 65 行

CPP
65
字号
#include<iostream>
#include<string>
using namespace std;
void main()
{
    int n,i,s;
    cin>>n;
    while(n--){
        char a[3][15],b[3][15],judge[3][10];
        char wrong,dif[10];
        for(i=0;i<3;i++)
            cin>>a[i]>>b[i]>>judge[i];
        for(wrong='A';wrong<='L';wrong++){
            int e[3]={0},pan=0;
            for(i=0;i<3;i++){
                int fa=strchr(a[i],wrong)==NULL;
                int fb=strchr(b[i],wrong)==NULL;
                if(strcmp(judge[i],"even")==0){
                    if(fa!=fb)
                        break;
                    e[i]=1;
                }
                else{
                    if(fa==fb)
                        break;
                    if(fa==1){
                        if(pan==0){
                            if(strcmp(judge[i],"up")==0)
                                strcpy(dif,"light");
                            else
                                strcpy(dif,"heavy");
                            pan=1;e[i]=1;
                        }
                        else{
                            if((strcmp(judge[i],"up")==0&&strcmp(dif,"light")==0)||(strcmp(judge[i],"down")==0&&strcmp(dif,"heavy")==0))
                                e[i]=1;
                            else
                                break;
                        }
                    }
                    else if(fb==1){
                        if(pan==0){
                            if(strcmp(judge[i],"down")==0)
                                strcpy(dif,"light");
                            else
                                strcpy(dif,"heavy");
                            pan=1;e[i]=1;
                        }
                        else{
                            if((strcmp(judge[i],"down")==0&&strcmp(dif,"light")==0)||(strcmp(judge[i],"up")==0&&strcmp(dif,"heavy")==0))
                                e[i]=1;
                            else
                                break;
                        }
                    }
                }
            }
            if(e[0]&&e[1]&&e[2]){
                cout<<wrong<<" is the counterfeit coin and it is "<<dif<<".\n";
                break;
            }
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?