关注
只做了前两道题, 第一题AC 第二题, 有bug, 没通过。。。时间不够
import java.util.*;
import java.util.Comparator;
public class Main{
public static class Team{
public String name;//队伍名称
public int win;//胜利次数
public int lose;//失败次数
public int equ;//平分次数
public int ball;//进球个数
public Team(String name){
this.name = name;
this.win = 0;
this.lose = 0;
this.equ = 0;
this.ball = 0;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getWin() {
return win;
}
public void setWin(int win) {
this.win = win;
}
public int getLose() {
return lose;
}
public void setLose(int lose) {
this.lose = lose;
}
public int getEqu() {
return equ;
}
public void setEqu(int equ) {
this.equ = equ;
}
public int getBall() {
return ball;
}
public void setBall(int ball) {
this.ball = ball;
}
}
public static class TeamComparator implements Comparator<Team> {
@Override
public int compare(Team t1, Team t2){
int score2 = t2.getWin()*3 + t2.getEqu();
int score1 = t1.getWin()*3 + t1.getEqu();
if(score2 > score1){//按照积分大小降序
return score2 - score1;
}else if(score2 == score1){//积分相同时候
int n2 = t2.getWin() + t2.getEqu() - t2.getLose();//t2净胜球数量
int n1 = t1.getWin() + t1.getEqu() - t1.getLose();//t1净胜球数量
if(n2 > n1){
return n2 - n1;//净胜球数量降序
}
}
return (t2.getWin() + t2.getEqu()) - (t1.getWin() + t1.getEqu());//仍然相同的按进球数降序排列。
}
}
//2
//a
//A
//a-A 2:1
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
Team[] team;//参赛队伍数组
HashMap<String, Team> map = new HashMap<>();
while(sc.hasNextLine()){
int n = Integer.parseInt(sc.nextLine());//参赛队伍数量
int k = n*(n-1)/2;//循环读取比赛数据
team = new Team[n];//初始化参赛队伍数量
String line = "";
//创建队伍 并 初始化为空
for(int i=0; i<n; i++)
map.put(sc.nextLine(), null);
for(int i=0; i<k; i++){
String in = sc.nextLine();//读入一行比赛数据
String t1_name = in.split(" ")[0].split("-")[0];
String t2_name = in.split(" ")[0].split("-")[1];
int t1 = Integer.parseInt(in.split(" ")[1].split(":")[0]);
int t2 = Integer.parseInt(in.split(" ")[1].split(":")[1]);
if(map.containsKey(t1_name) && map.get(t1_name) != null){//如果存在t1这个队伍
Team temp1 = map.get(t1_name);
if(t1 > t2){//t1胜一场 t2输一场
temp1.setWin(temp1.getWin() + 1);
}else if(t1 < t2){
temp1.setLose(temp1.getLose() +1);//t1 lose1 t2 win1
}else{
temp1.setEqu(temp1.getEqu() + 1);//平分一次
}
//更新进球个数
temp1.setBall(temp1.getBall() + t1);
map.put(t1_name, temp1);
}else{//如果不存在t1这个队伍
Team temp1 = new Team(t1_name);
if(t1 > t2){//t1胜一场 t2输一场
temp1.setWin(1);
}else if(t1 < t2){
temp1.setLose(1);//t1 lose1 t2 win1
}else{
temp1.setEqu(1);//平分一次
}
//进球个数
temp1.setBall(t1);
map.put(t1_name, temp1);
}
if(map.containsKey(t2_name) && map.get(t2_name) != null){//如果存在t2这个队伍
Team temp2 = map.get(t2_name);
if(t2 > t1){//t2胜一场 t1输一场
temp2.setWin(temp2.getWin() + 1);
}else if(t1 > t2){//t2输
temp2.setLose(temp2.getLose() +1);//t2 lose1 t1 win1
}else{
temp2.setEqu(temp2.getEqu() + 1);//平分一次
}
//更新进球个数
temp2.setBall(temp2.getBall() + t2);
map.put(t2_name, temp2);
}else{//如果不存在t2这个队伍
Team temp2 = new Team(t2_name);
if(t2 > t1){//t2胜一场 t2输一场
temp2.setWin(1);
}else if(t1 < t2){
temp2.setLose(1);//t1 lose1 t2 win1
}else{
temp2.setEqu(1);//平分一次
}
//进球个数
temp2.setBall(t2);
map.put(t2_name, temp2);
}
int index = 0;
for(Map.Entry<String, Team> entry : map.entrySet()){//遍历出所有队伍的信息
team[index] = entry.getValue();
index++;
}
//按照排序规则排序
Arrays.sort(team, new TeamComparator());
for(int j=0; j< n/2; j++){
Team temp = team[j];
System.out.println(temp.name);
}
}
}
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
07-09 13:51
门头沟学院 Java 还处在暑期实习上岸后的摆烂状态实习:杂活多,产出少,文档也没偷学多少八股:忘的差不多了项目:有实习就不会问玩具项目了吧力扣:我可以说我连hot 100都没刷完吗国企:从零开始准备论文:没着落
回收旧报纸:世另我,只是我比你更烂一些,没找到实习,你起码还有实习的,秋招猛猛冲,加油
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你认为小厂实习有用吗? #
13733次浏览 186人参与
# 面试官是我前女友 #
106890次浏览 731人参与
# 实习生的蛐蛐区 #
39797次浏览 329人参与
# 当你面对裁员会如何? #
275921次浏览 2438人参与
# 计算机有哪些岗位值得去? #
12816次浏览 133人参与
# lastday知无不言 #
56850次浏览 460人参与
# 在职场上,你最讨厌什么样的同事 #
14421次浏览 150人参与
# 推荐一首陪你工作的歌吧 #
14002次浏览 97人参与
# 说说你知道的学历厂 #
28110次浏览 178人参与
# 你找工作的时候用AI吗? #
14783次浏览 192人参与
# 下班后的时间你怎么安排 #
7395次浏览 111人参与
# 哪一瞬间觉得自己长大了 #
7212次浏览 166人参与
# 携程求职进展汇总 #
559402次浏览 4258人参与
# 面试尴尬现场 #
23619次浏览 163人参与
# 工作后会跟朋友渐行渐远吗 #
30031次浏览 216人参与
# 中核求职进展汇总 #
20127次浏览 152人参与
# 社会教会你的第一课 #
29184次浏览 394人参与
# 多益网络工作体验 #
49626次浏览 280人参与
# 虾皮求职进展汇总 #
244159次浏览 1797人参与
# 神州信息工作体验 #
15996次浏览 75人参与