hdu 2093 考试排名
2016-02-01 16:11
309 查看
#include <stdio.h> #include <algorithm> #include <string.h> using namespace std; struct STU { char name[20]; int sum; int cnt; } s[1000]; int cmp(STU x,STU y)//先按题数排,再按总时间小的在头排序 { if(x.cnt!=y.cnt) return x.cnt>y.cnt; return x.sum<y.sum; } int main() { int n,t; while(~scanf("%d%d",&n,&t)) { int i,j,k = 0; char sc[100]; while(~scanf("%s",s[k].name)) { s[k].sum = s[k].cnt = 0; for(i = 0; i<n; i++) { scanf("%s",sc); if(!strcmp(sc,"0"))//没提交,自然不算 continue; if(sc[0] == '-')//提交的都是错的,而且没A,也不算 continue; s[k].cnt++; int len = strlen(sc),f = 0,l = 0; if(!strstr(sc,"("))//没有括号代表1A,,直接算 { while(sc[l]) { f = f*10+sc[l]-'0'; l++; } s[k].sum+=f; continue; } while(sc[l]!='(')//有括号就要算出提交的时间 { f = f*10+sc[l]-'0'; l++; } s[k].sum+=f; f = 0; l++; while(sc[l]!=')')//罚时 { f = f*10+sc[l]-'0'; l++; } f = f*t; s[k].sum+=f; } k++; } sort(s,s+k,cmp); for(i = 0; i<k; i++) { printf("%-10s%3d%5d\n",s[i].name,s[i].cnt,s[i].sum); } } return 0; }
相关文章推荐
- springmvc下的基于token的防重复提交
- UIImagePickerController简单使用
- 极客以折腾不息的树莓派玩法
- mongodb 常用查询语句整理
- FFmpeg的使用——PHP转换视频、截取视频以及JW Player播放器控制
- Swift 扩展(extension)
- ios面试题 看了就知道哪方面需要加强上机练习
- Longest Substring Without Repeating Characters
- ztree树构造的一些解决方案,getNodes()的作用
- Spring MVC 教程,快速入门,深入分析
- 广东灏瀚科技icare3.0系统学习之旅---icare3.0用法字典的维护
- centos彻底删除文件夹、文件命令
- Nginx(3) - Controlling nginx
- 【React Native开发】React Native控件之ViewPagerAndroid讲解以及美团首页顶部效果实例(17)
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- MySQL建表规范与常见问题
- 微信投票系统 开发
- 【Volley核心类分析】RequestQueue(一)
- 线性表心得
- 从头认识Spring-1.11 注入List或Set(这个例子比较体现代码复用)