Cod sursa(job #1573610)
Utilizator | Data | 19 ianuarie 2016 20:19:29 | |
---|---|---|---|
Problema | Balanta | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 2.44 kb |
# include <fstream>
using namespace std;
ifstream fin("balanta.in");
ofstream fout("balanta.out");
int n,m,st[1400],dr[1400],g[1400],u[1400],i,j,val,nr,cg[1400],cu[1400],h,poz;
int main () {
fin>>n>>m;
for(j=1;j<=m;j++){
fin>>nr;
for(i=1;i<=nr;i++){
fin>>st[i];
}
for(i=1;i<=nr;i++){
fin>>dr[i];
}
fin>>val;
if(val==0){
for(i=1;i<=nr;i++){
cu[st[i]]=1;
cu[st[i]]=1;
cg[dr[i]]=1;
cg[dr[i]]=1;
u[st[i]]=0;
g[st[i]]=0;
u[dr[i]]=0;
g[dr[i]]=0;
st[i]=0;
dr[i]=0;
}
continue;
}
if(val==1){
for(i=1;i<=nr;i++){
cu[st[i]]=1;
cg[dr[i]]=1;
u[st[i]]=0;
if(cg[st[i]]!=1)
g[st[i]]=-1;
if(cu[dr[i]]!=1)
u[dr[i]]=-1;
g[dr[i]]=0;
st[i]=0;
dr[i]=0;
}
for(i=1;i<=n;i++){
if(u[i]!=-1)
u[i]=0;
else
u[i]*=-1;
if(g[i]!=-1)
g[i]=0;
else
g[i]*=-1;
}
}
else{
for(i=1;i<=nr;i++){
cg[st[i]]=1;
cu[dr[i]]=1;
g[st[i]]=0;
if(cu[st[i]]!=1)
u[st[i]]=-1;
if(cg[dr[i]]!=1)
g[dr[i]]=-1;
g[dr[i]]=-1;
u[dr[i]]=0;
st[i]=0;
dr[i]=0;
}
for(i=1;i<=n;i++){
if(u[i]!=-1)
u[i]=0;
else
u[i]*=-1;
if(g[i]!=-1)
g[i]=0;
else
g[i]*=-1;
}
}
}
for(i=1;i<=n;i++){
if(g[i]==1){
h++;
poz=i;
if(h>1)
break;
}
if(u[i]==1){
h++;
poz=i;
if(h>1)
break;
}
}
if(h>1)
fout<<0<<"\n";
else
fout<<poz<<"\n";
return 0;
}