Pagini recente » Cod sursa (job #2103612) | Cod sursa (job #958513) | Cod sursa (job #1808755) | Cod sursa (job #531166) | Cod sursa (job #2602045)
#include<fstream>
#include<iostream>
#include<vector>
#define pb push_back
#define DN 205
using namespace std;
ifstream fin("party.in");
ofstream fout("party.out");
int n,m,a,b,type,viz[DN],st[DN],top,r[DN],rez[DN],nr;
vector<int>g[DN];
void dfs(int nod)
{
viz[nod]=1;
for(auto i:g[nod])
if(!viz[i])
dfs(i);
top++;
st[top]=nod-n;
}
int main()
{
fin>>n>>m;
for(int i=1;i<=m;i++)
{
fin>>a>>b>>type;
if(type==1)
b=-b;
else
if(type==2)
a=-a;
else
if(type==3)
{
a=-a;
b=-b;
}
g[-a+n].pb(b+n);
g[-b+n].pb(a+n);
}
for(int i=2*n;i>=0;i--)
if(!viz[i]&&g[i].size())
{
dfs(i);
}
for(int i=top;i>=1;i--)
if(!r[st[i]+n]&&!r[-st[i]+n])
r[-st[i]+n]=1;
for(int i=1;i<=n;i++)
if(r[i+n]||(!r[i+n]&&!r[-i+n]))
{
nr++;
rez[nr]=i;
}
fout<<nr<<'\n';
for(int i=1;i<=nr;i++)
fout<<rez[i]<<'\n';
}