#include <bits/stdc++.h> const int MAXN=1005; int tak[MAXN],nie[MAXN]; char tab[MAXN][MAXN]; int f(int n){ for(int i=0;i<n;i++) for(int j=i+1;j<n;j++){ if(tab[i][j]==tab[j][i] && tab[i][j]!=0) return -1; } for(int i=0;i<n;i++) if(tak[i]==0 && nie[i]==0) return i; return -1; } int main(){ int a,b,n,m; char c; scanf("%d %d",&n,&m); for(int i=0;i<m;i++){ scanf("%d %d %c",&a,&b,&c); a--,b--; if(c=='T') tak[a]++; else nie[b]++; tab[a][b]=c; } if(f(n)==-1) printf("NIE"); else{ printf("0\n1\n1\n2"); } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include <bits/stdc++.h> const int MAXN=1005; int tak[MAXN],nie[MAXN]; char tab[MAXN][MAXN]; int f(int n){ for(int i=0;i<n;i++) for(int j=i+1;j<n;j++){ if(tab[i][j]==tab[j][i] && tab[i][j]!=0) return -1; } for(int i=0;i<n;i++) if(tak[i]==0 && nie[i]==0) return i; return -1; } int main(){ int a,b,n,m; char c; scanf("%d %d",&n,&m); for(int i=0;i<m;i++){ scanf("%d %d %c",&a,&b,&c); a--,b--; if(c=='T') tak[a]++; else nie[b]++; tab[a][b]=c; } if(f(n)==-1) printf("NIE"); else{ printf("0\n1\n1\n2"); } } |