QAQ & ORZ 的签到题 (河南省多校联萌(三) 问题D)
来源:互联网 发布:js offsetparent 编辑:程序博客网 时间:2024/05/17 07:24
问题 D: QAQ & ORZ 的签到题
时间限制: 1 Sec 内存限制: 128 MB
提交: 817 解决: 202[提交][状态][论坛]
题目描述
QAQ 的好朋友 ORZ,最近在做一个选拔节目的评委,对于每位选手 ORZ 想知道在这个选手以及这位选手前面的的选手中,得分最高和最低的选手的序号分别是多少....
ORZ 找了 QAQ 帮忙,但是 QAQ 最近在追火星情报局....所以你可以帮助 QAQ 解决 ORZ 的问题吗?
输入
第一行一个数 T
(T
组测试数据
第二行一个数 n
(n
位选手
接下来 n
行,每行一个数 a
(i
位选手的得分,打分总是从第一位选手开始
输出
输出从 1 ~ n
位选手中 a[i]
,在 1 ~ i
之间的选手中得分最高和得分最低的选手的序号分别是多少
样例输入
1
3
123
样例输出
1 1
2 1
3 1
解题思路:
这道题对时间要求也非常严格,千万不要循环里面套循环,肯定时间超限,没做出来的同学不要灰心,要越挫越勇。这道题我运用了结构体,结构体里面有两个元素(选手的得分,选手的序号),再定义两个结构体变量min、max,用于存储最小得分、最小得分序号;最大得分、最大得分序号。都赋相应的初值(大的要足够大,小的应足够小,这点不懂得话看看代码就明白了)。显然,当计算前1位选手时,输出第一位选手相应的得分和序号,计算前两位选手时,前两位选手的得分比较,大的得分和序号保存在结构体变量max中,小的得分和序号存储在结构体变量min中,然后输出大的分数、大的序号、小的分数、小的序号。当计算前三位选手时,利用前两位算手计算所得的最大值和最小值进行计算,这样会节省运行时间,避免时间超限,接下来以此类推。建议明白思路后自己写代码,希望能够帮助读者。
代码:
#include<iostream>#include<cstdio>using namespace std;struct qq{ int y; //存储选手的分数 int i; //存储选手的序号}a[100005];int main(){ struct qq max1,min1; //结构体变量max1用于存储前i(i=1,2,3....n位选手的分值和序号,min...... int t,n,j; scanf("%d",&t); while(t--) { scanf("%d",&n); for(j=0;j<=n-1;j++) { scanf("%d",&a[j].y); a[j].i=j+1; //序号应为j+1 } max1.y=a[0].y; //让最大值足够大 max1.i=1; min1.y=a[0].y; //让最小值足够小 min1.i=1; for(j=0;j<=n-1;j++) { if(j==0) //说明是前1位选手,那么直接输出第一位先手的分值和序号即可,因为没人比 { printf("1 1\n"); continue; } if(a[j].y>max1.y) //找到前j位得分最高的选手,和其序号 { max1.y=a[j].y; max1.i=a[j].i; } if(a[j].y<min1.y) //找到前j位得分最底的选手,和其序号 { min1.y=a[j].y; min1.i=a[j].i; } printf("%d %d\n",max1.i,min1.i); } } return 0;}
阅读全文
1 0
- QAQ & ORZ 的签到题 (河南省多校联萌(三) 问题D)
- 问题D:QAQ&ORZ的签到题
- 多校联萌(三)QAQ & ORZ 的签到题
- QAQ & ORZ 的签到题||多线联盟(三)D
- 【多校连萌三】问题 D: QAQ & ORZ 的签到题
- QAQ & ORZ 的签到题
- QAQ & ORZ 的签到题
- QAQ & ORZ 的签到题
- QAQ & ORZ 的签到题
- QAQ & ORZ 的签到题
- Hdu-1411-QAQ & ORZ 的签到题 [水题]【多校联萌】
- 1411: QAQ & ORZ 的签到题 [水题]
- HPU1411-- QAQ & ORZ 的签到题
- HPU-1411: QAQ & ORZ 的签到题 [水题]
- hpuoj【1411】QAQ & ORZ 的签到题【水题】
- HPU 弱校联萌3 【1411】 QAQ & ORZ 的签到题
- 河南省多校连萌(三)【问题 C: QAQ & 火星情报局】
- 河南省多校连萌(三)【B-Bar ABCDEFGH 问题 E: QAQ & 君临天下 || 天行九歌】
- Tokyo Cabinet
- jQuery JavaScript的综合性UI组件库jQWidgets更新至v5.0.0丨附下载
- 设计一套好的RESTful API
- FIDO AppID and Facet Specification(译)
- 代写品牌故事四步写作方法
- QAQ & ORZ 的签到题 (河南省多校联萌(三) 问题D)
- MailBee.NET Objects显示HTML/纯文本邮件教程(二):在桌面应用程序中显示
- Css伪元素和伪类
- WinForm-ListBox控件美化
- 设计模式之装饰者模式篇
- HDU 6105 Gameia(树上博弈 17多校第六场)
- Java创建和解析Json数据方法(四)——Google Gson包的使用
- RESTful API实战笔记(接口设计及Java后端实现)
- HDU 6096:妙用AC自动机(666)