Pagini recente » Cod sursa (job #2531877) | Cod sursa (job #19615) | Cod sursa (job #250096) | Cod sursa (job #961099) | Cod sursa (job #2351129)
#include <bits/stdc++.h>
#define MAXN 105
#define MAXM 1005
int N, M, X[MAXM], Y[MAXM],
Colour[MAXM], Ans[MAXN];
std::ifstream In ("party.in");
std::ofstream Out("party.out");
void Init() {
srand(time(NULL));
}
void Citire() {
In >> N >> M;
for (int i=1; i<=M; ++i)
In >> X[i] >> Y[i] >> Colour[i];
}
void Rezolvare() {
bool check = true;
while (check) {
check = false;
for (int i=1, val; i<=M; ++i) {
val = (Ans[X[i]]<<1) + Ans[Y[i]];
if (val == Colour[i]) {
if (rand()&1) Ans[X[i]] = 1-Ans[X[i]];
else Ans[Y[i]] = 1-Ans[Y[i]];
check = true;
i = M+5;
}
}
}
int Count = 0;
for (int i=1; i<=N; ++i)
Count += Ans[i];
Out << Count << '\n';
for (int i=1; i<=N; ++i)
if (Ans[i])
Out << i << '\n';
}
int main()
{
Init();
Citire();
Rezolvare();
return 0;
}