Pagini recente » Cod sursa (job #2512336) | Cod sursa (job #1766304) | Cod sursa (job #2369282) | Cod sursa (job #1156260) | Cod sursa (job #2547659)
#include <fstream>
#define K 1030
using namespace std;
ifstream fin("balanta.in");
ofstream fout("balanta.out");
int n,m,i,x,k,rez,st[K],dr[K],us[K],gr[K];
int main(){
fin>>n>>m;
for(;m--;){
fin>>k;
for(i=1;i<=n;i++) //initializez vectorii de frecventa a monedelor
st[i]=dr[i]=0;
for(i=1;i<=k;i++){ //monedele de pe talerul stang
fin>>x;
st[x]=1;
}
for(i=1;i<=k;i++){//monedele de pe talerul drept
fin>>x;
dr[x]=1;
}
fin>>rez;
if(rez==0)//echilibru
for(i=1;i<=n;i++)
if(st[i] || dr[i]) //a fost cantarita
us[i]=gr[i]=1; //moneda ok
if(rez==1)//st>dr
for(i=1;i<=n;i++){
if(st[i])us[i]=1; //e pe talerul greu => nu poate fi mai usoara
if(dr[i])gr[i]=1; //e pe talerul usor => nu poate fi mai grea
if(!st[i]&&!dr[i])//necantarita => ok;cea falsa e printre cele cantarite
us[i]=gr[i]=1;
}
if(rez==2)//st<dr
for(i=1;i<=n;i++){
if(st[i])gr[i]=1;
if(dr[i])us[i]=1;
if(!st[i]&&!dr[i])
us[i]=gr[i]=1;
}
}
for(m=0,i=1;i<=n;i++){
if(!us[i])
m++,x=i;
if(!gr[i])
m++,x=i;
}
if(m==1)fout<<x;
else fout<<0;
return 0;
}