Sicily 4873. D’HONDT
来源:互联网 发布:软件商店下载 编辑:程序博客网 时间:2024/06/10 19:02
2012年每周一赛第二场第一题,简单模拟问题。题目的意思是,对于票数大于5%的政党,将其总票数分别从1除到14,得出14个值,然后把每个政党的这些值混在一起排序,那么最大的14个值所属的政党中,将有一人被选举为代表,然后就是按字典序输出每个政党的代表人数。需要注意的是,即使这个政党没人当选为代表,也是要输出的,只要他的得票数大于总票数的5%。
Run Time: 0sec
Run Memory: 304KB
Code Length: 898Bytes
Submit Time: 2012-03-03 21:45:54
// Problem#: 4873// Submission#: 1231763// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/// All Copyright reserved by Informatic Lab of Sun Yat-sen University#include <cstdio>#include <map>using namespace std;int main(){ int X, N, G; char P; map<char,int> vote, rept; map<char,int>::iterator cit; map<double,char> score; map<double,char>::iterator dit; int i; scanf( "%d%d", &X, &N ); for ( i = 1; i <= N; i++ ) { getchar(); scanf( "%c%d", &P, &G ); if ( (double)G / X >= 0.05 ) { vote[ P ] = G; rept[ P ] = 0; } } if ( N != 0 ) { for ( cit = vote.begin(); cit != vote.end(); cit++ ) { for ( i = 1; i <= 14; i++ ) score[ (double)cit->second / i ] = cit->first; } for ( i = 1, dit = --score.end(); i <= 14; i++, dit-- ) rept[ dit->second ]++; for ( cit = rept.begin(); cit != rept.end(); cit++ ) printf( "%c %d\n", cit->first, cit->second ); } return 0;}
- Sicily 4873. D’HONDT
- 席位分配问题——惯例Q值法和d'hondt法的MATLAB程序
- Sicily 1-D closet pair
- Sicily 1027
- sicily 1007
- sicily 1795
- sicily 1036
- sicily 1419
- sicily 1889
- sicily 1684
- sicily 1686
- sicily 1004
- sicily 1135
- sicily 1152
- sicily 1151
- sicily 1002
- sicily 1156
- sicily 1424
- Acegi
- 多项式相加
- 零星C编程
- linux source命令
- 最新 跟我学spring3 电子书下载
- Sicily 4873. D’HONDT
- 关于泛型的很好的一篇心得体会,写的很好,留着用
- Linq查询中类型的转化以及序列化XXX对象时检测到循环引用
- 字符编码笔记:ASCII,Unicode和UTF-8
- oracle 10g update的语法 更名成 Oracle的update语句优化研究
- linux查看文件的编码格式的方法
- difference between nor flash and nand flash
- 单片机分类
- 十八年努力,我才能与你一起喝咖啡(转于《读者》)