C++编写n 个人一起玩狼人杀,按从 1 到 n 的顺序编号,据说,这群人当中有一个预言家。如果预言家真的存在,那么: 1)预言家不会信任任何人。 2)每个人(除了预言家)都信任预言家。 最多只有一个人同时满足 1 和 2 。 给定一个数组 trust ,其中 trust[i] = [ai, bi] 表示编号为 ai 的人信任编号为 bi 的人。如果预言家存在并且可以确定他的身份,请返回预言家的编号;否则,返回 -1 。 提示: 1 <= n <= 1000;0 <= trust.length <= 100;trust[i].length == 2;trust 中的所有trust[i] = [ai, bi] 互不相同;ai != bi;1 <= ai;bi <= n
时间: 2023-02-07 09:28:31 浏览: 71
翻译过来就是:有一群人一起玩狼人杀游戏,他们有编号从 1 到 n 的顺序编号。据说在这群人当中有一个预言家。如果预言家存在,那么:
1)预言家不会信任任何人。
2)每个人(除了预言家)都信任预言家。
最多只有一个人同时满足 1 和 2 。
给定一个数组 trust ,其中 trust[i] = [ai, bi] 表示编号为 ai 的人信任编号为 bi 的人。如果预言家存在并且可以确定他的身份,请返回预言家的编号;否则,返回 -1 。
提示:
1 <= n <= 1000;
0 <= trust.length <= 100;
trust[i].length == 2;
trust 中的所有trust[i] = [ai, bi] 互不相同;
ai != bi;
1 <= ai;bi <= n
请问你需要我为你提供什么帮助?
相关问题
用c++编写n 个人一起玩狼人杀,按从 1 到 n 的顺序编号,据说,这群人当中有一个预言家。如果预言家真的存在,那么: 1)预言家不会信任任何人。 2)每个人(除了预言家)都信任预言家。 最多只有一个人同时满足 1 和 2 。 给定一个数组 trust ,其中 trust[i] = [ai, bi] 表示编号为 ai 的人信任编号为 bi 的人。如果预言家存在并且可以确定他的身份,请返回预言家的编号;否则,返回 -1 。 提示: 1 <= n <= 1000;0 <= trust.length <= 100;trust[i].length == 2;trust 中的所有trust[i] = [ai, bi] 互不相同;ai != bi;1 <= ai;bi <= n
这是一道关于图论的题目。在这道题中,我们可以用一张有向图来表示这些人之间的信任关系,其中点表示人,边表示信任关系。
预言家的条件是: 1)不信任任何人,也就是没有出边; 2)所有人都信任他,也就是所有其他点都有一条指向他的边。
我们可以用一个数组来记录每个点的入度,然后遍历所有点,如果有一个点满足入度为 n-1,则返回这个点的编号。如果遍历完所有点仍然没有找到符合条件的点,则返回 -1。
代码如下:
```
int findJudge(int n, vector<vector<int>>& trust) {
vector<int> indegree(n+1, 0);
for (const auto& t : trust) {
indegree[t[0]]++;
}
for (int i = 1; i <= n; i++) {
if (indegree[i] == 0) return i;
}
return -1;
}
```
c++写从键盘输入数组长度n(20以内),以及n个数,按从小到大的1顺序进行排序
好的,以下是一个简单的 C++ 代码示例,可以实现您所要求的功能:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n;
int arr[20];
// 从键盘输入数组长度n
cout << "请输入数组长度n(20以内):";
cin >> n;
// 从键盘输入n个数
cout << "请输入" << n << "个数:";
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
// 使用 std::sort 函数对数组进行排序
sort(arr, arr + n);
// 输出排序后的数组
cout << "按从小到大排序后的数组为:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
这个程序首先从键盘输入数组长度 n,然后再从键盘输入 n 个数,接着使用 `std::sort` 函数对这个数组进行排序,最后输出排序后的数组。注意,这个程序中使用了 STL 中的 `sort` 函数,可以方便地对数组进行排序。