Pagini recente » Cod sursa (job #1356431) | Cod sursa (job #1848148) | Cod sursa (job #2026288) | Cod sursa (job #2719985) | Cod sursa (job #326780)
Cod sursa(job #326780)
#include <cstdio>
#include <cstring>
#define file_in "party.in"
#define file_out "party.out"
#define Nmax 1010
int n,s[Nmax],m;
int x[Nmax],y[Nmax],z[Nmax];
int ok()
{
int i;
for (i=1;i<=m;++i)
{
if (z[i]==0)
{
if (s[x[i]]==0 && s[y[i]]==0) return 0;
}
if (z[i]==1)
{
if (s[x[i]]==0 && s[y[i]]==1) return 0;
}
if (z[i]==2)
{
if (s[x[i]]==1 && s[y[i]]==0) return 0;
}
if (z[i]==3)
{
if (s[x[i]]==1 && s[y[i]]==1) return 0;
}
}
return 1;
}
void subm()
{
int q,x,i,nr,okk;
s[n]=1;
okk=1;
for (q=0;q<(1<<n) && okk;++q)
{
x=n;
while (s[x])
{
s[x]=0;
x--;
}
s[x]=1;
/* for (i=0;i<=n;++i)
printf("%d ", s[i]);
printf("\n");*/
if (ok())
{
nr=0;
for (i=1;i<=n;++i)
if (s[i]) nr++;
printf("%d\n", nr);
/*for (i=1;i<=n;++i)
if (s[i])
printf("%d\n", i);*/
okk=0;
}
}
}
int main()
{
int i;
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d %d", &n,&m);
for (i=1;i<=m;++i)
scanf("%d %d %d", &x[i],&y[i],&z[i]);
subm();
/* printf("1\n");
printf("12");*/
fclose(stdin);
fclose(stdout);
return 0;
}