Pagini recente » Cod sursa (job #2219101) | Cod sursa (job #2306820) | Cod sursa (job #149910) | Cod sursa (job #240981) | Cod sursa (job #3142498)
#include <fstream>
using namespace std;
ifstream in("balanta.in");
ofstream out("balanta.out");
struct comparation
{
int k, a[520], b[520], r;
}o[1025];
int f[1025];
bool app[1025];
int n, m;
void ReadData()
{
in>>n>>m;
for(int i=1; i<=m; i++)
{
in>>o[i].k;
for(int j=1; j<=o[i].k; j++)
{
in>>o[i].a[j];
app[o[i].a[j]]++;
}
for(int j=1; j<=o[i].k; j++)
{
in>>o[i].b[j];
app[o[i].b[j]]++;
}
in>>o[i].r;
}
}
void BuildF()
{
for(int i=1; i<=m; i++)
{
for(int j=1; j<=o[i].k; j++)
{
if(o[i].r==1)
f[o[i].a[j]]++;
else if(o[i].r==2)
f[o[i].a[j]]--;
}
for(int j=1; j<=o[i].k; j++)
{
if(o[i].r==1)
f[o[i].b[j]]--;
else if(o[i].r==2)
f[o[i].b[j]]++;
}
}
}
int main()
{
ReadData();
BuildF();
int maxi=0, val=0;
for(int i=1; i<=n; i++)
{
if(abs(f[i])>maxi)
{
maxi=abs(f[i]);
val=i;
}
}
if(maxi==0)
{
for(int i=1; i<=n; i++)
{
if(app[i]==0)
{
out<<i;
return 0;
}
}
}
for(int i=1; i<=n; i++)
{
if(abs(f[i])==maxi && i!=val)
{
out<<0;
return 0;
}
}
out<<val;
}