foj 1350 Very Simple Problem
来源:互联网 发布:win7下的c语言编译器 编辑:程序博客网 时间:2024/06/05 17:36
题目描述:
http://acm.fzu.edu.cn/problem.php?pid=1350
题意:每个评委对一组题目打下难易系数,用0-1000整数表示,找出被定义为最简单的题目。
最简单题目定义: if it was called as “simplest” by more than a half of the jury, and was called as “hardest” by nobody.
超过半数的评委认为其是最简单的,而且没有评委认为其是最难的。
解题思路:首先找每个评委认为最难的,在pro数组中赋值为-1,以后不再访问。然后找每个评委认为最简单的,pro对应的增加个数。最后以pro[i]!=-1&&pro[i]>n/2确定其是否为最简单的题目。
代码:
#include<stdio.h>#include<string.h>int main(){ int n,p,i,j; int a[105],pro[105],max,min; while(scanf("%d%d",&n,&p)!=EOF) {memset(pro,0,sizeof(pro));//初始化pro数组 for(i=1;i<=n;i++) {max=0; min=1000; //分别找数组中的最难和最易题 for(j=1;j<=p;j++) { scanf("%d",&a[j]); if(a[j]>=max)max=a[j]; if(a[j]<=min)min=a[j]; } //找到最难题赋值为-1 for(j=1;j<=p;j++) if(a[j]==max) pro[j]=-1; //找到最简单的题pro[j]对应增加 for(j=1;j<=p;j++) if(a[j]==min&&pro[j]!=-1) pro[j]++; } int k=0; for(i=1;i<=p;i++) if(pro[i]!=-1&&pro[i]>n/2)//最简单题目的判断 { if(k!=0) printf(" "); printf("%d",i); k=1; } if(k==0)//没有最简单的题目输出0 printf("0"); printf("\n"); } return 0;}
1 0
- FOJ 1350 Very Simple Problem
- 【FOJ 1350】 Very Simple Problem
- foj 1350 Very Simple Problem
- FZU 1350 Very Simple Problem
- 1166 Very Simple Problem
- [Java]Very simple problem
- sgu111:Very simple problem
- 111. Very simple problem
- SGU111 Very simple problem
- POJ 2535 Very Simple Problem
- SGU 111 Very simple problem
- [SGU]111. Very simple problem
- SGU 111 Very simple problem
- poj 2535 Very Simple Problem
- SGU 111 Very simple problem
- FOJ Problem 2218 Simple String Problem
- FOJ Problem 2218 Simple String Problem
- SGU111 Very simple problem(大数开方)
- awk管道
- Android 和 iPhone 浏览器之战,第 1 部分: WebKit 成援兵
- 线程经典问题 生产者和消费者
- windows下配置redis的php扩展
- oracle子查询
- foj 1350 Very Simple Problem
- 如何把公式编辑器中的公式导入到Flash中
- codevs线段覆盖 动态规划
- 线程经典问题 生产者消费者 jdk 1.5后解决办法 lock 和condition
- linux用户和管理组
- cornerSubPix函数英文介绍
- 在移动开发快捷推广方式
- 淘宝的流氓DLL.调试程序的时候都加载上来.
- ubuntu下配置java环境