View Code of Problem 131

#include<stdio.h>
int main(){
	int n,m;
	while(scanf("%d %d",&n,&m)!=EOF){
		int i,j,k;
		int a[200][200] = {0};
		while(m--){
			int c,d;
			scanf("%d %d",&c,&d);
			a[d-1][c-1] = 1;        //学a之前一定要学习b 说明b可以到a 
		}
		for(k = 0;k < n; k++){        //以k为中间节点 
			for(i = 0;i < n; i++){      
				for(j = 0;j < n; j++){
					if(a[i][j]>0)
						continue;
					else {
						if(a[i][k]>0&&a[k][j]>0){
							a[i][j] = 1;
						}
					}
				}
			}
		}

		int flag = 0;
		for(i = 0;i < n; i++){
			for(j = 0;j < n-i; j++){
				if(a[i][j]==1&&a[j][i]==1)
					flag = 1;
			}
		}
		if(flag)
			printf("ERROR\n");
		else
			printf("RIGHT\n");
	}
}

Double click to view unformatted code.


Back to problem 131