1 条题解
-
0
题意分析
N位裁判对P个问题按难度打分,每行是某裁判对问题打出的分数。简单问题定义为一半以上裁判认为最简单,没有人认为最难。求简单问题列表。
解题思路
- 统计评分
- 对每位评委,记录其评分的最小值("最简单")和最大值("最困难")。
- 判断条件
- 对于每道题,统计被评为"最简单"的次数 和"最困难"的次数 。
- 若 且 ,则该题属于"非常简单"。
- 输出结果
- 将所有符合条件的题目编号排序后输出。
C++代码实现
#include <iostream> using namespace std; int a[102][102]; int b[102]; int s[102]; int main() { int N,P; cin>>N>>P; for(int i=0;i<N;i++) { cin>>a[i][0]; b[i]=a[i][0]; s[i]=a[i][0]; for(int j=1;j<P;j++) { cin>>a[i][j]; if(a[i][j]>b[i]) { b[i]=a[i][j]; } if(a[i][j]<s[i]) { s[i]=a[i][j]; } } } int flag=0; for(int j=0;j<P;j++) { int js_s=0;//最简单数的计数 int js_b=0; for(int i=0;i<N;i++) { if(a[i][j]==b[i]) { js_b++; } if(a[i][j]==s[i]) { js_s++; } } if((js_b==0)&&(js_s>(N/2))) { cout<<j+1<<" ";//谢谢博友 flag=1; } } if(flag==0) { cout<<0<<endl; }else { cout<<endl; } return 0; }
- 统计评分
- 1
信息
- ID
- 1536
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者