一个点TLE了,看题解没看出自己代码问题,求助万能的谷民有能看出问题的吗
题
代码
#include <bits/stdc++.h>
using namespace std;
int n, m, p, cnt;
int changeto[100010];
bool changed[100010];
int main(void) {
scanf("%d%d%d", &n, &m, &p);
for (int i = 1;i <= n;i ++){
int x, y;
scanf("%d%d", &x, &y);
if (changeto[y] == 0) changeto[y] = x;
}
changed[p] = true;
while (1){
p = changeto[p];
if (p == 0){
printf("%d", cnt);
return 0;
}
if (changed[p]){
printf("-1");
return 0;
}
cnt ++;
}
return 0;
}