#include <iostream> #include <vector> #include <cstring> #include <cmath> #include <algorithm> #include <set> using namespace std; int main(){ int n,m; while(cin>>n>>m){ vector<vector<int>> num(n,vector<int>(n,0)); int a,b; int de[n]={0},vi[n]={0}; for(int i=0;i<m;i++){ cin>>a>>b; num[a-1][b-1]=1; de[a-1]++; }//行都为0代表没有先修课 for(int k=0;k<n;k++){ for(int i=0;i<n;i++){ if(de[i]==0&&vi[i]==0){//入度为0,删除连接他的边 vi[i]=1; for(int j=0;j<n;j++) num[j][i]=0; } } } bool flag=true; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(num[i][j]!=0){ flag=false; break; } } if(flag==false) break; } if(flag==false) cout<<"ERROR"<<endl; else cout<<"RIGHT"<<endl; } return 0; } |
Double click to view unformatted code.