Cod sursa(job #1418914)
Utilizator | Data | 14 aprilie 2015 13:20:19 | |
---|---|---|---|
Problema | Balanta | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 2.01 kb |
#include<fstream>
using namespace std;
ifstream fin("balanta.in");
ofstream fout("balanta.out");
int a[1027],b[1027],g[1027],u[1027],x,y,U,G,j,ii,nr,r,i,n,k,m;
int main(){
fin>>n>>m;
for(ii=1;ii<=m;ii++){
fin>>k;
for(i=1;i<=k;i++){
fin>>a[i];
}
for(i=1;i<=k;i++){
fin>>b[i];
}
fin>>r;
if(r==0){
for(i=1;i<=k;i++){
g[a[i]]=1;
g[b[i]]=1;
u[a[i]]=1;
u[b[i]]=1;
}
}
if(r==1){
for(i=1;i<=k;i++){
if(g[a[i]]==0)
g[a[i]]=2;
if(u[b[i]]==0)
u[b[i]]=2;
}
for(i=1;i<=n;i++){
if(g[i]!=2){
g[i]=1;
}else{
g[i]=0;
}
if(u[i]!=2){
u[i]=1;
}else
u[i]=0;
}
}
if(r==2){
for(i=1;i<=k;i++){
if(g[b[i]]==0)
g[b[i]]=2;
if(u[a[i]]==0)
u[a[i]]=2;
}
for(i=1;i<=n;i++){
if(g[i]!=2){
g[i]=1;
}else{
g[i]=0;
}
if(u[i]!=2){
u[i]=1;
}else
u[i]=0;
}
}
}
for(i=1;i<=n;i++){
if(g[i]==0){
x=i;
G++;
}
if(u[i]==0){
y=i;
U++;
}
}
if(U==1 && G==0){
fout<<y;
}else{
if(U==0 && G==1){
fout<<x;
}
if(U==1 && G==1 && x==y){
fout<<x;
}
if(U==1 && G==1){
fout<<0;
}
if(U==0 && G==0){
fout<<0;
}
}
return 0;
}