Pagini recente » Cod sursa (job #3041680) | Cod sursa (job #1282135) | Cod sursa (job #872034) | Cod sursa (job #420021) | Cod sursa (job #1708263)
#include <cstdlib>
#include <ctime>
#include <fstream>
using namespace std;
ifstream fin("party.in");
ofstream fout("party.out");
const int nmax= 100;
int n, m, sol;
bool u[nmax+1];
int x[nmax+1], y[nmax+1];
int main( ) {
fin>>n>>m;
for ( int i= 1, k; i<=m; ++i ) {
fin>>x[i]>>y[i]>>k;
if ( k==1 || k==3 ) {
x[i]= -x[i];
}
if ( k==2 || k==3 ) {
y[i]= -y[i];
}
}
srand(1<<20);
for ( int i= 1; i<=n; ++i ) {
u[i]= rand()%2;
}
for ( int ok= 0; ok==0; ) {
ok= 1;
for ( int i= 1; i<=m; ++i ) {
if ( (x[i]>0 && u[x[i]]==1) || (x[i]<0 && u[-x[i]]==0) || (y[i]>0 && u[y[i]]==1) || ( y[i]<0 && u[-y[i]]==0) ) {
continue;
}
int a= x[i], b= y[i], r= rand()%2;
if ( a<0 ) {
a= -a;
}
if ( b<0 ) {
b= -b;
}
if ( r==0 ) {
u[a]= 1-u[a];
} else {
u[b]= 1-u[b];
}
ok= 0;
}
}
for ( int i= 1; i<=n; ++i ) {
if ( u[i]==1 ) {
++sol;
}
}
fout<<sol<<"\n";
for ( int i= 1; i<=n; ++i ) {
if ( u[i]==1 ) {
fout<<i<<"\n";
}
}
return 0;
}