Pagini recente » Cod sursa (job #1896354) | Cod sursa (job #2384700) | Cod sursa (job #3245861) | Cod sursa (job #2637900) | Cod sursa (job #1223342)
#include<fstream>
#include<cstdlib>
#include<ctime>
using namespace std;
int a1[1003], a2[1003], b1[1003], b2[1003], N, M;
int val[103];
void solve(){
int l1,l2;
for(int i=1;i<=M;++i)
{
l1 = val[a1[i]]; l2 = val[a2[i]];
if(b1[i]) l1 ^= 1;
if(b2[i]) l2 ^= 1;
if(!l1 && !l2)
{
if(rand() % 2)
{
val[a1[i]] ^= 1;
}
else
{
val[a2[i]] ^= 1;
}
i = 0;
}
/*
else
if(!l1)
{
val[a1[i]] ^= 1;
i = 0;
}
else
if(!l2)
{
val[a2[i]] ^= 1;
i = 0;
}*/
}
}
int main(){
ifstream cin("party.in");
ofstream cout("party.out");
int i,j,x,y,z;
srand(int(time(NULL)));
cin >> N >> M;
for(i=1;i<=M;++i)
{
cin >> a1[i] >> a2[i] >> z;
if(z == 1 || z == 3) b2[i] = 1;
if(z == 2 || z == 3) b1[i] = 1;
}
//for(i=1;i<=N;++i) val[i] = 1;
solve();
int NR = 0;
for(i=1;i<=N;++i) if(val[i]) ++NR;
cout << NR << "\n";
for(i=1;i<=N;++i) if(val[i]) cout << i << "\n";
return 0;
}