結果
| 問題 | No.24 数当てゲーム | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2016-10-12 05:18:29 | 
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 5,000 ms | 
| コード長 | 1,797 bytes | 
| コンパイル時間 | 1,303 ms | 
| コンパイル使用メモリ | 160,752 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-11-22 02:08:01 | 
| 合計ジャッジ時間 | 2,018 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 10 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
// macros
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define REP(i,n)  FOR(i,0,n)
#define MIN(a,b) (a>b?b:a)
#define MAX(a,b) (a>b?a:b)
#define INT_IN(a) int a; cin >> a
#define STR_IN(s) string s; cin >> s
#define PRINTLN(s) cout << s << endl
#define PRINTDOUBLELN(s) cout << setprecision(12) << (s) << endl;
// util functions
template<class T> inline T sqr(T x) {return x*x;}
inline int toInt(string s) {int v; istringstream sin(s);sin>>v;return v;}
template<class T> inline string toString(T x) {ostringstream sout;sout<<x;return sout.str();}
template <typename T>inline T max(vector<T> v){T max=v[0]; FOR(i, 1, v.size())max=MAX(v[i], max); return max;}
template <typename T>inline T min(vector<T> v){T min=v[0]; FOR(i, 1, v.size())min=MIN(v[i], min); return min;}
template <typename T>inline vector<T> concat(vector<T> a, vector<T> b){vector<T> ab; ab.reserve(a.size()+b.size());ab.insert(ab.end(),a.begin(),a.end());ab.insert(ab.end(),b.begin(),b.end());return ab;}
// types
typedef long long LL;
// consts
const double EPS = 1e-10;
const double PI  = acos(-1.0);
//debug
#define dump(x)  cerr << #x << " = " << (x) << endl
#define debug(x) cerr << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl
int main(){
    INT_IN(turn);
    vector<bool> neg(10, false);
    vector<bool> pos(10, true);
    REP(i, turn){
        INT_IN(A);
        INT_IN(B);
        INT_IN(C);
        INT_IN(D);
        STR_IN(R);
        if(R == "YES"){
            REP(j, 10){
                pos[j] = (pos[j] && (j == A || j == B || j == C || j == D));
            }
        }else{
            neg[A] = neg[B] = neg[C] = neg[D] = true;
        }
    }
    REP(i, 10){
        if(!neg[i] and pos[i])PRINTLN(i);
    }
    return 0;
}
            
            
            
        