社区讨论

站外题求助qaq救救我

学术版参与者 5已保存回复 18

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
18 条
当前快照
1 份
快照标识符
@m0ot5sz3
此快照首次捕获于
2024/09/05 12:49
2 年前
此快照最后确认于
2024/09/05 13:24
2 年前
查看原帖
第5题 姓氏 (name) (2015桂城五-6) 时限:1s 空间:256m 【题目描述】
在一个很大的课室里,里面有很多学生在听课。L老师挑选了其中的N个不同的学生起立回答问题,L老师对起立的每一个学生都是问同样的问题:“在本课室里,和你同姓的学生有多少人(不包括你自己)?”。这N个起立的同学的回答如下:
第1位起立的同学回答:和我同姓的,除了我之外,本课室里还有A[1]个学生。
第2位起立的同学回答:和我同姓的,除了我之外,本课室里还有A[2]个学生。
第3位起立的同学回答:和我同姓的,除了我之外,本课室里还有A[3]个学生。
。。。。。。
第N位起立的同学回答:和我同姓的,除了我之外,本课室里还有A[N]个同学。
假设这N位同学的回答都是正确的,那么课室里至少有多少个学生?
【输入格式】
第一行,一个整数N。
第二行,N个整数,空格分开,第i个整数表示A[i]。
【输出格式】
一个整数,表示课室里至少有多少个学生。
【数据范围】
对于20%的数据, N = 2,0<=A[i]<=10。
对于另外20%的数据, N = 3, 0<=A[i]<=100。
对于100%的数据,3<N<=50,0<=A[i]<=1000000。
输入 #1
4
1 2 1 2
输出 #1
5
解释 #1
根据4位学生的回答,可以推断出课室不可能少于5个学生,所以输出5。
输入 #2
9
2 2 44 2 2 2 444 2 2
输出 #2
499
解释 #2
根据9位学生的回答,可以推断出课室不可能少于499个学生,所以输出499。
CPP
#include<bits/stdc++.h>
using namespace std;
int n,a[100],sum;
int main(){
   cin>>n;
   for(int i=0;i<n;i++){
   	cin>>a[i];
   }
   sort(a,a+n);
   int ans=unique(a,a+n)-a;
   for(int i=0;i<ans;i++){
   	sum+=a[i]+1;
   }
   cout<<sum;
   return 0;
}
本人刚出生,不会做救救我

回复

18 条回复,欢迎继续交流。

正在加载回复...