Pagini recente » Cod sursa (job #1058919) | Cod sursa (job #2251060) | Cod sursa (job #615195) | Cod sursa (job #209642) | Cod sursa (job #2547975)
#include <fstream>
#define dim 1030
using namespace std;
int st[dim];
int dr[dim];
int us[dim];
int gr[dim];
int i,n,m,q,s,sol,moneda,x;
int main() {
ifstream fin("balanta.in");
ofstream fout("balanta.out");
fin>>n>>q;
while (q--) {
for (i=1;i<=n;i++) {
st[i]=dr[i]=0;
}
fin>>m;
for (i=1;i<=m;i++) {
fin>>x;
st[x]=1;
}
for (i=1;i<=m;i++) {
fin>>x;
dr[x]=1;
}
fin>>s;
if (s==0) {
for (i=1;i<=n;i++) {///monedele sunt egale
if(st[i]||dr[i]) us[i]=gr[i]=1;
}
}
else if (s==1) {///monedele din stanga sunt mai grele
for (i=1;i<=n;i++) {
if (st[i]) gr[i]=1;
else if (dr[i]) us[i]=1;
else st[i]=dr[i]=1;///moneda cautata se afla ori in stanga ori in dreapta, deci celelalte sunt normale
}
}
else if (s==2) {///monedele din dreapta sunt mai grele
for (i=1;i<=n;i++) {
if (st[i]) us[i]=1;
else if (dr[i]) gr[i]=1;
else us[i]=gr[i]=1;
}
}
}
for (i=1;i<=n;i++) {
if (us[i]!=gr[i]) {
sol++;
moneda=i;
}
}
if (sol==1) fout<<moneda;
else fout<<0;
return 0;
}