AOJ 0514 Quality CheckingQuality Checking
こんにちは川です。
今回は、正常に動いたものを先に判定し、
動かなかったものをあとから判定すればいけます。
#include <bits/stdc++.h>
using
namespace
std;
int
main() {
int
a,b,c;
while
(cin>>a>>b>>c,a,b,c){
int
tool[301]={};
for
(
int
i=1;i<=a+b+c;i++)tool[i]=2;
int
n;
cin>>n;
int
num[1001][4];
for
(
int
i=0;i<n;i++){
for
(
int
j=0;j<4;j++)cin>>num[i][j];
if
(num[i][3]==1)
for
(
int
j=0;j<3;j++)tool[num[i][j]]=1;
}
for
(
int
i=0;i<n;i++){
if
(num[i][3]==0){
int
x=num[i][0],y=num[i][1],z=num[i][2];
if
(tool[x]==1&&tool[y]==1)tool[z]=0;
else
if
(tool[x]==1&&tool[z]==1)tool[y]=0;
else
if
(tool[y]==1&&tool[z]==1)tool[x]=0;
}
}
for
(
int
i=1;i<=a+b+c;i++)cout<<tool[i]<<endl;
}
}