Submission #1610477


Source Code Expand

#include <bits/stdc++.h>
#define REP(i,a,b) for(int i=(a);i<(b);i++)
#define RREP(i,a,b) for(int i=(a);i>=(b);i--)
typedef long long ll; typedef long double ld;
using namespace std;
const int INF=1e9, MOD=1e9+7;
const int MAX_N=10000;
int a,b,c,n,x[1000][4]={},li[300]={};
set<int> st1,st2;

int main(){
	cin >> a >> b >> c >> n;
	REP(i,0,n){
		cin >> x[i][0] >> x[i][1] >> x[i][2] >> x[i][3];
		if(x[i][3]){
			st1.insert(x[i][0]);
			st1.insert(x[i][1]);
			st1.insert(x[i][2]);
		}
	}
	
	REP(i,0,n){
		if(x[i][3]) continue;
		else{
			if(st1.count(x[i][0])){
				if(st1.count(x[i][1])) st2.insert(x[i][2]);
				else if(st1.count(x[i][2])) st2.insert(x[i][1]);
			}else if(st1.count(x[i][1])){
				if(st1.count(x[i][0])) st2.insert(x[i][2]);
				else if(st1.count(x[i][2])) st2.insert(x[i][0]);
			}else if(st1.count(x[i][2])){
				if(st1.count(x[i][0])) st2.insert(x[i][1]);
				else if(st1.count(x[i][1])) st2.insert(x[i][0]);
			}
		}
	}
	
	REP(i,1,a+b+c+1){
		if(st1.count(i)) cout << 1 << endl;
		else if(st2.count(i)) cout << 0 << endl;
		else cout << 2 << endl;
	}

	return 0;
}

Submission Info

Submission Time
Task E - 品質検査
User ecasdqina
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1133 Byte
Status AC
Exec Time 3 ms
Memory 256 KB

Judge Result

Set Name set01 set02 set03 set04 set05
Score / Max Score 20 / 20 20 / 20 20 / 20 20 / 20 20 / 20
Status
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
Set Name Test Cases
set01 data1
set02 data2
set03 data3
set04 data4
set05 data5
Case Name Status Exec Time Memory
data1 AC 1 ms 256 KB
data2 AC 1 ms 256 KB
data3 AC 2 ms 256 KB
data4 AC 2 ms 256 KB
data5 AC 3 ms 256 KB