Codeforces 1826A_Trust Nobody

本文最后更新于:31 分钟前

Codeforces 1826A Trust Nobody

题目大意:

一群人中有人说谎,每人报出他所知道的说谎人数,让你根据信息判断说谎人数是否能确定。

解题思路:

这题可以假设一个i作为假想说谎人数,再通过模拟即可解题

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<bits/stdc++.h>
using namespace std;
const int N=105;
void solve(){
int n,a[N],flag=-1;
cin>>n;
for(int i=0;i<n;i++)cin>>a[i];
for(int i=0;i<=n;i++){//假想说谎人数
int cnt=0;
for(int j=0;j<n;j++){
if(a[j]>i){//当该人报数大于假想人数即视为说谎
cnt++;
}
}
if(cnt==i){//当在该假想下说谎人数刚好吻合即确定
flag=i;
break;
}
}
cout<<flag;
}
int main(void){
int t;
cin>>t;
while(t--){
solve();
cout<<endl;
}
}
//code by lyriv;
//welcome to lyriv.com;

Codeforces 1826A_Trust Nobody
http://example.com/2023/05/10/Codeforces 1826A_Trust Nobody/
作者
Lyriv
发布于
2023年5月10日
许可协议