Pagini recente » Cod sursa (job #1047521) | Cod sursa (job #643243) | Cod sursa (job #1989377) | Cod sursa (job #1131686) | Cod sursa (job #2845100)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("balanta.in");
ofstream g("balanta.out");
int n , m , k , r , maxim1 = -1 , maxim2 = -1 , poz1 , poz2 , fr1 , fr2;
int t1[1024] , t2[1024] , fru[1024] , frg[1024];
int main()
{
f >> n >> m;
for(int i = 1 ; i <= m ; ++i){
f >> k;
for(int j = 1 ; j <= k ; ++j)
f >> t1[j];
for(int j = 1 ; j <= k ; ++j)
f >> t2[j];
f >> r;
if(r == 0)
for(int j = 1 ; j <= k ; ++j)
--fru[t1[j]] , --fru[t2[j]] , --frg[t1[j]] , --frg[t2[j]];
else if(r == 1)
for(int j = 1 ; j <= k ; ++j)
++fru[t2[j]] , --fru[t1[j]] , ++frg[t1[j]] , --frg[t2[j]];
else if(r == 2)
for(int j = 1 ; j <= k ; ++j)
--fru[t2[j]] , ++fru[t1[j]] , --frg[t1[j]] , ++frg[t2[j]];
}
for(int i = 1 ; i <= n ; ++i){
if(fru[i] > maxim1 && fru[i] >= 0)
maxim1 = fru[i] , poz1 = i , fr1 = 0;
if(fru[i] == maxim1 && fru[i] >= 0)
++fr1;
}
for(int i = 1 ; i <= n ; ++i){
if(frg[i] > maxim2 && frg[i] >= 0)
maxim2 = frg[i] , poz2 = i , fr2 = 0;
if(frg[i] == maxim2 && frg[i] >= 0)
++fr2;
}
if(fr1 == fr2 && fr1 == 1 && maxim1 != 0 && maxim2 != 0){
g << 0;
return 0;
}
if(fr1 == 1){
g << poz1;
return 0;
}
if(fr2 == 1){
g << poz2;
return 0;
}
g << 0;
return 0;
}