poj1013 枚举(称硬币)

2019-10-31  本文已影响0人  暖昼氤氲
/*
Time:2019.10.31
Author: Goven
type:称硬币——枚举 
err:
ref:
*/
#include<iostream>
#include<string>

using namespace std;

int main()
{
    string s1[3], s2[3], s3[3];
    
    int n;
    cin >> n;
    while (n--) {
        for (int i = 0; i < 3; i++) {
            cin >> s1[i] >> s2[i] >> s3[i];
        }
        for (char i = 'A'; i < 'M'; i++) {
            //light 
            int flag = 0;
            for (int j = 0; j < 3; j++) {
                if ( s3[j] == "even" && s1[j].find(i) == string::npos && s2[j].find(i) == string::npos) flag++; 
                if ( s3[j] == "up" && s1[j].find(i) == string::npos && s2[j].find(i) != string::npos) flag++; 
                if ( s3[j] == "down" && s1[j].find(i) != string::npos && s2[j].find(i) == string::npos) flag++;
            }
            if (flag == 3) {
                cout << i << " is the counterfeit coin and it is light." << endl;
                break;
            }
            
            //height
            flag = 0;
            for (int j = 0; j < 3; j++) {
                if ( s3[j] == "even" && s1[j].find(i) == string::npos && s2[j].find(i) == string::npos) flag++; 
                if ( s3[j] == "down" && s1[j].find(i) == string::npos && s2[j].find(i) != string::npos) flag++; 
                if ( s3[j] == "up" && s1[j].find(i) != string::npos && s2[j].find(i) == string::npos) flag++;
            }
            if (flag == 3) {
                cout << i << " is the counterfeit coin and it is heavy." << endl;
                break;
            }
        }
    }
    return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读