Pagini recente » Cod sursa (job #736318) | Cod sursa (job #2377164) | Cod sursa (job #230052) | Cod sursa (job #1798099) | Cod sursa (job #735640)
Cod sursa(job #735640)
#include<fstream>
#include<cstdlib>
#define dim 102
#include<ctime>
using namespace std;
ifstream f("party.in");
ofstream g("party.out");
int A[dim],C[10*dim],n,m,i,Nr;
struct inv {
int x,y;
short int c;
}
v[10*dim];
int verificare( int k ) {
if(( C[v[i].x] || C[v[i].y] )&& k==0)
return 1;
if((k==1) && (C[v[i].x] || !C[v[i].y]))
return C[v[i].x];
if((k==2) && (!C[v[i].x]||C[v[i].y]))
return 1;
if(k==3 && C[v[i].x]+C[v[i].y]!=2 )
return 1;
return 0;
}
int main () {
f>>n>>m;
for(i=1;i<=m;i++)
f>>v[i].x>>v[i].y>>v[i].c;
for(i=1;i<=n;i++)
C[i]=1;
srand(time(NULL));
for(i=1;i<=m;i++){
if(!verificare(v[i].c)) {
int a=rand()%2;
if( a==1 ) {
C[v[i].y]=!C[v[i].y];
}
else {
C[v[i].x]=!C[v[i].x];
}
}
}
for(i=1;i<=n;i++)
if(C[i]){
++Nr;
A[Nr]=i;
}
g<<Nr<<"\n";
for(i=1;i<=Nr;++i) {
g<<A[i]<<"\n";
}
return 0;
}