Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<algorithm>
- using namespace std;
- int a[22],b[22],c[22],index[22];
- int p[] = {0,1,2,3,4,5,6,7};
- int main()
- {
- int n,m,i,tot,diff;
- while(scanf("%d%d",&n,&m)==2)
- {
- if(n==0 && m==0)
- {
- break;
- }
- tot = 0;
- for(i=1;i<=m;i++)
- {
- scanf("%d%d%d",&a[i],&b[i],&c[i]);
- }
- do
- {
- for(i=0;i<n;i++)
- {
- index[p[i]] = i;
- }
- int ok = 1;
- for(i=1;i<=m;i++)
- {
- diff = abs(index[a[i]]-index[b[i]]);
- if(c[i]>0)
- {
- if(diff>c[i])
- {
- ok = 0;
- break;
- }
- }
- else
- {
- if(diff<-c[i])
- {
- ok = 0;
- break;
- }
- }
- }
- tot+=ok;
- }
- while(next_permutation(p,p+n));
- printf("%d\n",tot);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement