文章
84
粉丝
408
获赞
33
访问
877.7k
这就是一个搜索问题,dfs或者bfs均可
#include<iostream>
#include<cstring>
using namespace std;
bool stat[1001][1001];
bool visited[1001];
void dfs(int a, int b, int n, bool& flag)
{
visited[a] = true;
if (stat[a][b]) {
flag = true;
return;
}
for (int i = 0; i <= n && !flag; i++) {
if (!visited[i] && stat[a][i]) {
visited[i] = true;
dfs(i, b, n, flag);
visited[i] = false;
}
}
}
int main()
{
int maxn = 0;
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 1000; j++) {
if (i == j) {
stat[i][j] = true;
}
else {
stat[i][j] = false;
}
}
}
int N;
cin >> N;
for (int itr = 0; itr < N; itr++) {
int number;
cin >> number;
int i;
cin >> i;
maxn = i > maxn ? i : maxn;
for (int itr2 = 2; itr2 < number; itr2++) {
int j;
cin >> j;
stat[i][j] = true;
maxn = j > maxn ? j : maxn;
}
}
for (int itr = 0...
登录后发布评论
暂无评论,来抢沙发