Contact - Answer
unknown
plain_text
2 years ago
888 B
4
Indexable
#include <iostream> using namespace std; int in[101][101]; int visit[101] = {0}; int Q[100000]; int r = -1, f = -1; void push(int x){ r++; Q[r] = x; } int pop(){ f++; return Q[f]; } int BFS(int st){ push(st); int max = 0; while(r != f){ int max1 = 0; int r1 = r; int f1 = f; for(int i = 0; i < r1 -f1 ; i++){ int a = pop(); if (a > max1) { max1 = a; max = max1; } visit[a] = 1; for(int j = 0; j < 101; j++){ if(in[a][j] == 1 && visit[j] == 0){ push(j); } } } } return max; } int main(){ freopen ("input.txt","r", stdin); for(int tc = 1; tc <= 10; tc++){ r = -1; f = -1; int n, st; cin >> n >> st; for(int i = 0; i < n/2; i ++){ int from, to; cin >> from >> to; in[from][to] = 1; } cout << "#" << tc << " " << BFS(st) << endl; } return 0; }
Editor is loading...