太久没在HDU做一题做到想吐了,就吐这里好了。
题意不清晰就已经够坑了(样例太坑),还一直在想应该要怎么用排序算法,结果就是一个二重循环给每个国家的4个排名都算出来…
做这逼题心态很重要(说出这句话就已经是心态爆炸

Problem Description
按要求,给国家进行排名。

Input
有多组数据。
第一行给出国家数N,要求排名的国家数M,国家号从0到N-1。
第二行开始的N行给定国家或地区的奥运金牌数,奖牌数,人口数(百万)。
接下来一行给出M个国家号。

Output
排序有4种方式: 金牌总数 奖牌总数 金牌人口比例 奖牌人口比例
对每个国家给出最佳排名排名方式 和 最终排名
格式为: 排名:排名方式
如果有相同的最终排名,则输出排名方式最小的那种排名,对于排名方式,金牌总数 < 奖牌总数 < 金牌人口比例 < 奖牌人口比例
如果有并列排名的情况,即如果出现金牌总数为 100,90,90,80.则排名为1,2,2,4.
每组数据后加一个空行。

Sample Input
4 4
4 8 1
6 6 2
4 8 2
2 12 4
0 1 2 3
4 2
8 10 1
8 11 2
8 12 3
8 13 4
0 3

Sample Output
1:3
1:1
2:1
1:2

1:1
1:1

Java代码:

import java.util.Scanner;/*** @class: hdu3789* @author: Chitose* @date: 2018/11/29* @description:*/
public class hdu3789 {static class Country{float gold, medal, gdp, mdp;int rank1,rank2,rank3,rank4;public Country(int gold, int medal, int pop) {this.gold = gold;this.medal = medal;gdp = (float)gold/(float)pop;mdp = (float)medal/(float)pop;rank1 = rank2 = rank3 = rank4 = 1;}}public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {int countries_num = sc.nextInt();Country[] countries_all = new Country[countries_num];int countries_to_fight = sc.nextInt();Country[] countries = new Country[countries_to_fight];for (int i = 0; i < countries_num; i++) {countries_all[i] = new Country(sc.nextInt(), sc.nextInt(), sc.nextInt());}for (int i = 0; i < countries_to_fight; i++) {countries[i] = countries_all[sc.nextInt()];}for(int i = 0 ; i <countries_to_fight ; i++){for(int j = 0 ; j < countries_to_fight ; j++){if(countries[i].gold<countries[j].gold){countries[i].rank1++;}if(countries[i].medal<countries[j].medal){countries[i].rank2++;}if(countries[i].gdp<countries[j].gdp){countries[i].rank3++;}if(countries[i].mdp<countries[j].mdp){countries[i].rank4++;}}int min = 10000;int flag = 0;if(countries[i].rank1<min)    {min = countries[i].rank1;    flag=1;}if(countries[i].rank2<min)    {min = countries[i].rank2;    flag=2;}if(countries[i].rank3<min)    {min = countries[i].rank3;    flag=3;}if(countries[i].rank4<min)    {min = countries[i].rank4;    flag=4;}System.out.println(min+":"+flag);}System.out.println();}}}

HDU 3789 奥运排序问题Java代码相关推荐

  1. java 奥运五环_[求助]求奥运五环 java代码

    [求助]求奥运五环 java代码 求奥运五环 java小程序代码,急用!新手先谢过了! 搜索更多相关的解决方案: 奥运五环  java  代码 ----------------解决方案-------- ...

  2. HDU3789 奥运排序问题【序列处理】

    奥运排序问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  3. java 计算i 出现的次数_JAVA算法:按照给定的段落统计单词出现次数(JAVA代码)...

    https://blog.csdn.net/seagal890/article/details/92067644 JAVA算法:按照给定的段落统计单词出现次数(JAVA代码) 写一个 JAVA程序以统 ...

  4. java代码_Java 代码实现排序算法

       阅读本文约需要8分钟  大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了下SpringBoot+Gradle+ MyBa ...

  5. elasticsearch的java代码操作详解

    Java操作es集群步骤 1:配置集群对象信息:2:创建客户端:3:查看集群信息 1:集群名称 默认集群名为elasticsearch,如果集群名称和指定的不一致则在使用节点资源时会报错. 2:嗅探功 ...

  6. 编写高性能Java代码的最佳实践

    编写高性能Java代码的最佳实践 摘要:本文首先介绍了负载测试.基于APM工具的应用程序和服务器监控,随后介绍了编写高性能Java代码的一些最佳实践.最后研究了JVM特定的调优技巧.数据库端的优化和架 ...

  7. cmd怎么实现Java你好_java环境配置以及如何在cmd窗口运行java代码

    对于初学java的人来说,电脑的环境配置也许会让你头疼,但只要你认真一些学习,相信对你来说都是OK的啦~ 首先回到桌面,选择我的电脑,单击右键属性,进入高级系统设置,点击环境变量设置.用户变量选择Te ...

  8. Android 使用java 代码获取res 里面的value 定义的数组

    现在res value 里面定义了一个array.xml 内容如下 <?xml version="1.0" encoding="utf-8"?> & ...

  9. 使用JAVA代码实现Android布局(一)RelativeLayout

    通常我们使用XML来书写Android的图形界面,XML虽然编写方便,但是在某些情况下不如JAVA代码灵活,所以在某些环境下还是必须使用JAVA代码来编写界面.我们以下XML代码为例,编写相应的JAV ...

最新文章

  1. 十八、redis.conf配置详解
  2. python数据分析的主要流程-python数据挖掘的基本流程有哪些?
  3. steam怎么看邮箱绑定的账号_lol手游appleid怎么绑定拳头账号 英雄联盟手游账号绑定方法_英雄联盟手游...
  4. 每日程序C语言29-将数组逆序输出
  5. CentOS 6.0安装ipvsadm 1.26错误笔录
  6. php中介者,PHP设计模式 - 中介者模式
  7. 《Ext JS权威指南》——2.4节关于Ext.onReady
  8. 根本无处可避的广东三游
  9. 免费电子书:Azure Web Apps开发者入门
  10. SketchUp + Ruby 二次开发初识
  11. yarn的安装和使用(全网最详细)
  12. HRD 必须了解的持续绩效的优势
  13. OneNote for win10 出现0xE000078B错误
  14. Dplayer Android播放器,呆呆播放器手机版官方下载
  15. 如何通过银行卡号 判断归属银行
  16. 在HTML语言中 标签hr用,在html中hr标签的作用是什么?
  17. 全国计算机等级考试c语言编程题,全国计算机等级考试C语言编程题(附答案)
  18. win7自定义html为桌面,win7桌面属性设置_win7如何自定义桌面属性
  19. 后台管理 vue+element 开源框架
  20. 【Python】大数相乘

热门文章

  1. non-virtual函数、virtual函数和pure virtual函数的区别
  2. [Java基础] 设计模式之单件模式
  3. Python小游戏(五)吃豆人小游戏
  4. Python解析xlsx文件库(xlrd与openpyxl)详细对比
  5. AirTag 平价替代品?小米查找物品的方法及装置专利获授权
  6. https配置问题:当前网站证书不可信且证书长度为1,可能是服务器没有配置完整的证书链
  7. SQL developer远程连接 Oracle 数据库
  8. 中国氧化染发剂市场趋势报告、技术动态创新及市场预测
  9. node怎么跳转链接_nodejs怎么跳转到新页面?
  10. 京东搜索--es+springboot+vue