#include <algorithm> #include <cctype> #include <cmath> #include <cstring> #include <iostream> #include <set> #include <string> #include <vector> using namespace std; int main() { int n, m; while (cin >> n >> m) { int lesson[101][101] = {0}, degree[101] = {0}; for (int i = 0; i < m; i++) { int a, b; cin >> a >> b; lesson[a][b] = 1; degree[b]++; } int cnt = n, last; while(cnt){ cnt--; last = -1; for (int i = 1; i <= n;i++){ if(degree[i] == 0){ last = i; } } if(last == -1 && cnt){ cout << "ERROR" << endl; break; } degree[last] = -1; for (int i = 1; i <= n;i++){ if(lesson[last][i] == 1){ lesson[last][i] = 0; degree[i]--; } } } if(cnt == 0) cout << "RIGHT" << endl; } } |
Double click to view unformatted code.