BOJ 1900 레슬러
-
변수
int N // 선수의 수 ArrayList<Wrestler> wresList //레슬러의 힘과 마술링의 힘 담는 배열 static class Wrestler{ int n; int power; int ring; int win; }
-
로직
-
레슬러간의 모든 경기 진행
-
승리 순서대로 정렬
-
승리가 많은 순서대로 출력
-
-
코드
package com.ssafy;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.StringTokenizer;
public class BOJ_1900_레슬러_201229 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int N = Integer.parseInt(br.readLine());
ArrayList<Wrestler> wresList = new ArrayList<Wrestler>();
for (int i = 1; i <= N; i++) {
st = new StringTokenizer(br.readLine());
int power = Integer.parseInt(st.nextToken());
int ring = Integer.parseInt(st.nextToken());
wresList.add(new Wrestler(i, power, ring));
}
fight(wresList);
Collections.sort(wresList, new Comparator<Wrestler>() {
@Override
public int compare(Wrestler o1, Wrestler o2) {
return o2.win - o1.win;
}
});
for (int i = 0; i < wresList.size(); i++) {
System.out.println(wresList.get(i).n);
}
}
private static void fight(ArrayList<Wrestler> wresList) {
for (int i = 0; i < wresList.size(); i++) {
for (int j = i+1; j < wresList.size(); j++) {
Wrestler a = wresList.get(i);
Wrestler b = wresList.get(j);
if(a.power + (a.ring * b.power) > b.power + (b.ring * a.power))
a.win++;
else
b.win++;
}
}
}
static class Wrestler{
int n;
int power;
int ring;
int win = 0;
public Wrestler(int n, int power, int ring) {
super();
this.n = n;
this.power = power;
this.ring = ring;
}
}
}
Leave a comment