Cod sursa(job #335403)
| Utilizator | Data | 29 iulie 2009 20:46:19 | |
|---|---|---|---|
| Problema | Balanta | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1.58 kb |
#include<fstream>
#include<cstring>
using namespace std;
ifstream f("balanta.in");
ofstream g("balanta.out");
const int maxn=1224;
int n,m,r,k,i,j,a[maxn],b[maxn],h[maxn],l[maxn],x,y;
int main()
{
f>>n>>m;
for(i=1;i<=n;++i)
h[i]=l[i]=1;
for(i=1;i<=m;++i)
{
f>>k;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for(j=1;j<=k;++j)
{
f>>x;
a[x]=1;
}
for(j=1;j<=k;++j)
{
f>>x;
b[x]=1;
}
f>>r;
if(r==0)
for(j=1;j<=n;++j)
{
if(a[j])
h[j]=l[j]=0;
if(b[j])
h[j]=l[j]=0;
}
if(r==1)
for(j=1;j<=n;++j)
{
if(!a[j])
h[j]=0;
if(!b[j])
l[j]=0;
}
if(r==2)
for(j=1;j<=n;++j)
{
if(!a[j])
l[j]=0;
if(!b[j])
h[j]=0;
}
}
x=0;
y=0;
for(i=1;i<=n;++i)
x+=h[i];
for(i=1;i<=n;++i)
y+=l[i];
if(x==1&&y==0)
{
for(i=1;i<=n;++i)
if(h[i])
g<<i<<"\n";
}
else
if(x==0&&y==1)
{
for(i=1;i<=n;++i)
if(l[i])
g<<i<<"\n";
}
else
g<<0<<"\n";
f.close();
g.close();
return 0;
}
