Pagini recente » Cod sursa (job #2594320) | Cod sursa (job #619301) | Cod sursa (job #2393970) | Cod sursa (job #83065) | Cod sursa (job #83061)
Cod sursa(job #83061)
#include <cstdio>
#include <cstdlib>
#include <ctime>
const int maxn = 101;
FILE *in = fopen("party.in","r"), *out = fopen("party.out","w");
int n, m;
char rel[maxn][maxn];
char v[maxn]; // v[i] = 1 daca pers. i vine la petrecere si 0 daca nu
void read()
{
fscanf(in, "%d %d", &n, &m);
int x, y, c;
for ( int i = 1; i <= m; ++i )
{
fscanf(in, "%d %d %d", &x, &y, &c);
rel[x][y] = c;
rel[y][x] = c;
}
}
int main()
{
read();
srand(time(0));
int ok = 0;
while ( !ok )
{
ok = 1;
int q = rand() % (n + 1);
if ( v[q] == 1 )
v[q] = 0;
else
v[q] = 1;
for ( int i = 1; i <= n; ++i )
for ( int j = i+1; j <= n; ++j )
{
if ( rel[i][j] == 0 && v[i] == 0 && v[j] == 0 )
ok = 0;
if ( rel[i][j] == 1 && v[i] == 0 && v[j] == 1 )
ok = 0;
if ( rel[i][j] == 2 && v[i] == 1 && v[j] == 0 )
ok = 0;
if ( rel[i][j] == 3 && v[i] == 1 && v[j] == 1 )
ok = 0;
}
}
int cnt = 0;
for ( int i = 1; i <= n; ++i )
if ( v[i] )
++cnt;
fprintf(out, "%d\n", cnt);
for ( int i = 1; i <= n; ++i )
if ( v[i] )
fprintf(out, "%d\n", i);
return 0;
}