A792题解
2025-10-08 12:02:58
发布于:江苏
这是一道暴力水题。
我们可以用一个数组 vis 来记录加油站 a[i]能到哪个加油站。
然后遍历 1 到 n−1,判断当前加油站 i 是否满足要求,是就输出 i,如果到最后都没有输出,输出 −1。
AC代码:
#include <bits/stdc++.h>
using namespace std;
int n, a, b;
int vis[1005];
bool judge (int i) {
bool f = false;
for(int j = 1; j < n; j++) {
if(i == j) continue;
int k1 = j;
bool f1 = false;
for (int k = 0; k <= 100; k++) {
k1 = vis[k1];
if (k1 == i) {
f1 = true;
}
}
if (f1 == false) {
f = true;
}
}
return f;
}
int main() {
scanf("%d", &n);
for(int i = 1; i <= n - 1; i++) {
cin >> a >> b;
vis[a] = b;
}
for (int i = 1; i <= n - 1; i++) {
if (judge(i) == false) {
cout << i;
return 0;
}
}
cout << -1;
return 0;
}
这里空空如也











有帮助,赞一个