php1007,九度论坛-1007 - 哭哭吓唬你的个人空间 - OSCHINA - 中文开源技术交流社区...

注意:对国家进行排序时,只对要求的国家进行排序就行了

/**

* 文件名:Main.java

*

* 版本信息:

* 日期:2013-6-26

* Copyright Corporation 2013

* 版权所有

*

*/

package 题目1007;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

/**

*

* 项目名称:arithmetic

* 类名称:Main

* 类描述:

* 创建人:黄传聪

* 创建时间:2013-6-26 下午12:49:28

* 修改人:黄传聪

* 修改时间:2013-6-26 下午12:49:28

* 修改备注:

* @version

*

*/

public class Main {

private double goldNum; //金牌数

private double medal; //奖牌数

private double persons; //人口数

private double gp; // 金牌人口比例

private double mp; //奖牌人口比例

private int min0; //最小排名

private int min1; //最小排名

private int min2; //最小排名

private int min3; //最小排名

private int method0; //使得排名最小的排名方式

private int method1; //使得排名最小的排名方式

private int method2; //使得排名最小的排名方式

private int method3; //使得排名最小的排名方式

private int id;

public Main(){

this.min0 = 1;

this.min1 = 1;

this.min2 = 1;

this.min3 = 1;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

int countries ;

int sortNum;

List country = null;

Scanner scanner = new Scanner(System.in);

Main main = null;

while(scanner.hasNext()){

countries = scanner.nextInt();

if(countries == 0){

break;

}

sortNum = scanner.nextInt();

int[] sortArrays = new int[sortNum];

country = new ArrayList();

int i,j;

for(i=0;i

main = new Main();

main.goldNum = scanner.nextInt();

main.medal = scanner.nextInt();

main.persons = scanner.nextInt();

main.gp = main.goldNum / main.persons;

main.mp = main.medal / main.persons;

main.id = i;

country.add(main);

}

for(i=0;i

sortArrays[i] = scanner.nextInt();

}

sort(country,sortArrays);

}

}

public static void sort(List list, int[] sortArray){

int i,j;

List tempList = new ArrayList();

//提出sortArray中不包含的国家

for(i=0;i

for(j=0;j

if(list.get(j).id == sortArray[i]){

tempList.add(list.get(j));

}

}

}

//分别使用四种方式进行排名

//按照金牌总数排名

for(i=0;i

Main temp = tempList.get(i);

temp.method0 = 1;

for(j=0;j

if(temp.goldNum < tempList.get(j).goldNum){

temp.min0++;

}

}

}

//使用第二种方法

for(i=0;i

Main temp = tempList.get(i);

temp.method1 = 2;

for(j=0;j

if(temp.medal < tempList.get(j).medal){

temp.min1 ++;

}

}

}

for(i=0;i

Main temp = tempList.get(i);

temp.method2 = 3;

for(j=0;j

if(temp.gp < tempList.get(j).gp){

temp.min2++;

}

}

}

for(i=0;i

Main temp = tempList.get(i);

temp.method3 = 4;

for(j=0;j

if(temp.mp < tempList.get(j).mp){

temp.min3++;

}

}

}

//for(i=0;i

//System.out.println(tempList.get(i).min0 + " " + tempList.get(i).min1 + " " + tempList.get(i).min2 + " " + tempList.get(i).min3);

//}

for(i=0;i

Main main = tempList.get(i);

int a0 = main.min0;

int a1 = main.min1;

int a2 = main.min2;

int a3 = main.min3;

int min1 = -1,min2 = -1,min = -1;

if(a0<=a1){

min1 = a0;

}else{

min1 = a1;

}

if(a2<=a3){

min2 = a2;

}else{

min2 = a3;

}

if(min1<=min2){

min = min1;

}else{

min = min2;

}

if(min == a0){

System.out.println(a0 + ":" + main.method0);

}else if(min == a1){

System.out.println(a1 + ":" + main.method1);

}else if(min == a2){

System.out.println(a2 + ":" + main.method2);

}else if(min == a3){

System.out.println(a3 + ":" + main.method3);

}

}

System.out.println();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值