P1347,90分,下载了唯一错误的数据
输出:
Sorted sequence determined after 25 relations: ACEGIKMOQSUWYZBDFHJLNPRTVX.
我的运行结果:
Sorted sequence determined after 25 relations: ACEGIKMOQSUWYZBDFHJLNPRTVX.
明明一模一样好吧?为什么判我WA?
放上我的代码,大佬帮忙提交下看是不是OJ的问题
#include <bits/stdc++.h>
using namespace std;
int n, m;
vector <int> G[30];
bool vis[30];
char out[30];
char minone = '-';
int DFS(int x,int k) {
if (vis[x])return 1;//矛盾,冲突;一误,再误!
vis[x] = 1;
out[k] = 'A' + x;
int res = 0;
for (int i = 0; i < G[x].size(); i++) {
res = DFS(G[x][i], k + 1);
if (res)return res;
}
if (k >= n)return 2;//已经确定
vis[x] = 0;
return 0;
}
int main() {
cin >> n >> m;
char a, b, c;
int answer = 0;
for (int i = 0; i < m; i++) {
cin >> a >> b >> c;
if (minone == '-')minone = a;
else if (minone == c)minone = a;
G[a - 'A'].push_back(c-'A');
answer = DFS(minone - 'A', 1);
if (answer == 1) {
cout << "Inconsistency found after " << i + 1 << " relations."; return 0;
}
if (answer == 2) {
cout << "Sorted sequence determined after " << i + 1 << " relations: ";
for (int j = 0; j <= n; j++)cout << out[j];
cout << ".";
return 0;
}
}
if (answer == 0) {
cout << "Sorted sequence cannot be determined.";
}
return 0;
}