有人想试试这个阅读程序题嘛w,闲着没事整的,大概J组难度?
  • 板块学术版
  • 楼主Cryflmind
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/9/15 21:59
  • 上次更新2023/11/2 20:33:51
查看原帖
有人想试试这个阅读程序题嘛w,闲着没事整的,大概J组难度?
563251
Cryflmind楼主2023/9/15 21:59
01 #include<bits/stdc++.h>
02 using namespace std;
03 unordered_map<long long,int> sign;
04 long long cnt,ids[5050],record[5050][5050]{},n;
05 void install(long long id)
06 {
07	for(long long i=1;i<=ids[id];i++)
08	{
09		if(!sign[record[id][i]]) install(record[id][i]);
10	}
11	sign[id]=1;
12	cnt++;
13 }
14 int main()
15 {
16	cin>>n;
17	for(long long i=1;i<=n;i++)
18	{
19		cin>>ids[i];
20		for(long long j=1;j<=ids[i];j++)
21		{
22			cin>>record[i][j];
23		}
24	}
25	long long i=1;
26	install(1);
27	cout<<cnt;
28	return 0;
29 }

假设输入的数字均在long long范围内,1≤n≤50001\leq n\leq5000,且输入数据均合法。

判断题

1.该程序实现了一个统计算法,读入了nn个数据并且统计其中相同数字的个数( )
2.第4行中如果删去“{}”,程序的运行结果不会发生改变。( )
3.如果删去第11行的语句,程序的运行结果会保持不变。( )

选择题

4.对于以下输入数据,该程序的输出结果为( ):

10
3 2 3 4
2 5 7
1 4
3 6 7 5
1 10
0
0
0
0
1 9

A.6
B.7
C.8
D.9
5.下列说法中正确的是( )
A.当第(N+1)(N+1)行的第1个数字(如果有)是NN的话,程序会进入死循环
B.当第(N+1)(N+1)行的第2个数字(如果有)是NN的话,程序会进入死循环
C.程序的输出一定小于N−1N-1
D.程序的输出一定大于11
6.如果读入的ids[i]ids[i]的和为nn,该程序最坏的时间复杂度最接近为( )
A.O(n)O(n)
B.O(nlogn)O(nlogn)
C.O(n2)O(n^2)
D.O(n!)O(n!)

2023/9/15 21:59
加载中...