#include<stdio.h> int main(){ int n,m; while(scanf("%d %d",&n,&m)!=EOF){ int i,j,k; int a[500][500] = {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; printf(" %d %d ",i,j); } } } } } int flag = 0; for(i = 0;i < n; i++){ for(j = 0;j < n; 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.