题目描述 某 E 正在机房值班,小朋友吵得她头晕脑胀,她将 NN 名吵闹的小朋友带出了机房,依次编号为 1,2,\cdots,N1,2,⋯,N。 某 E 发现,这些小朋友形成了若干个小团伙,每个小朋友属于且只属于一个小团伙。她要求每一名小朋友指出自己所在小团伙的首领编号,第 ii 名小朋友指认的首领编号为 S_iS i 。 假定所有小朋友都没有说谎,请问这 NN 名小朋友中一共形成了多少个小团伙? 输入格式 输入共两行。 输入的第一行为一个正整数 NN。 输入的第二行为 NN 个正整数,第 ii 个为 S_iS i 。 输出格式 输出一行一个整数,代表机房里小团体的数目。
时间: 2024-04-16 22:25:44 浏览: 13
题目描述
某 E 正在机房值班,小朋友吵得她头晕脑胀,她将 NN 名吵闹的小朋友带出了机房,依次编号为 1,2,\cdots,N1,2,⋯,N。
某 E 发现,这些小朋友形成了若干个小团伙,每个小朋友属于且只属于一个小团伙。她要求每一名小朋友指出自己所在小团伙的首领编号,第 ii 名小朋友指认的首领编号为 S_iS
i
。
假定所有小朋友都没有说谎,请问这 NN 名小朋友中一共形成了多少个小团伙?
输入格式
输入共两行。
输入的第一行为一个正整数 NN。
输入的第二行为 NN 个正整数,第 ii 个为 S_iS
i
。
输出格式
输出一行一个整数,代表机房里小团体的数目。
相关问题
某 E 正在机房值班,小朋友吵得她头晕脑胀,她将 N 名吵闹的小朋友带出了机房,依次编号为 1,2,⋯,N。 某 E 发现,这些小朋友形成了若干个小团伙,每个小朋友属于且只属于一个小团伙。她要求每一名小朋友指出自己所在小团伙的首领编号,第 i 名小朋友指认的首领编号为 Si 。 假定所有小朋友都没有说谎,请问这 N 名小朋友中一共形成了多少个小团伙? 输入格式 输入共两行。 输入的第一行为一个正整数 N。 输入的第二行为 N 个正整数,第 i个为 Si 输出格式 输出一行一个整数,代表机房里小团体的数目。 用C语言写
对于这个问题,可以使用并查集来解决。首先每个小朋友的首领为自己,然后根据小朋友的指认关系进行合并操作。最后统计有多少个不同的首领即可。
以下是用C语言实现的代码:
```c
#include <stdio.h>
#define MAXN 100000
int leader[MAXN + 1];
int findLeader(int x) {
if (leader[x] == x) {
return x;
} else {
return leader[x] = findLeader(leader[x]);
}
}
void merge(int x, int y) {
int leaderX = findLeader(x);
int leaderY = findLeader(y);
if (leaderX != leaderY) {
leader[leaderY] = leaderX;
}
}
int main() {
int N;
scanf("%d", &N);
// 初始化每个小朋友的首领为自己
for (int i = 1; i <= N; i++) {
leader[i] = i;
}
for (int i = 1; i <= N; i++) {
int Si;
scanf("%d", &Si);
// 合并操作
merge(i, Si);
}
int count = 0;
for (int i = 1; i <= N; i++) {
if (leader[i] == i) {
count++;
}
}
printf("%d\n", count);
return 0;
}
```
希望能帮到你!
pdf 南川分公司零星维修项目﹣ 机房. pdf 文件大小:80.9kb继续
根据您提供的信息,南川分公司的pdf文件大小为80.9kb,文件标题为"南川分公司零星维修项目-机房"。从文件名可以看出,这是南川分公司的机房维修项目相关的文件。80.9kb的文件大小相对较小,可能是一份简单的文档或者报告。在这份文件中可能包含了机房维修的具体内容、计划、预算或者其他相关信息。
机房作为公司信息技术系统的核心设施,维护和保养至关重要。南川分公司零星维修项目的文件可能包括了机房设备的维护计划、维修记录、维修人员的工作安排等内容。这些内容对于确保机房设备的正常运行和保障公司业务的连续性都非常重要。
在处理这份80.9kb的pdf文件时,可以通过打开软件查看具体内容,确认文件中的维修项目的具体内容和细节。可以同时检查文件的完整性和准确性,确保文件内容与实际维修项目一致。另外,如果需要分享这份文件给其他的维修人员或者相关部门,也可以通过邮件或者内部文档管理系统进行分享。
综上所述,这份80.9kb的pdf文件对于南川分公司的机房零星维修项目至关重要,需要认真查看文件内容,并根据文件中的信息来做好机房维修工作的准备和安排。希望以上回答对您有帮助,如果还有其他问题,欢迎继续咨询。