結果

問題 No.556 仁義なきサルたち
コンテスト
ユーザー Daigo HIROOKA
提出日時 2018-06-27 00:07:06
言語 Java
(openjdk 25.0.2)
コンパイル:
javac -encoding UTF8 _filename_
実行:
java -ea -Xmx700m -Xss256M -DONLINE_JUDGE=true _class_
結果
AC  
実行時間 940 ms / 2,000 ms
コード長 1,242 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 2,800 ms
コンパイル使用メモリ 83,700 KB
実行使用メモリ 66,500 KB
最終ジャッジ日時 2026-03-21 11:07:28
合計ジャッジ時間 10,546 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge1_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 22
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import java.util.*;

public class No556{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		int n = sc.nextInt();
		int m = sc.nextInt();
		ArrayList<Integer> monkeys = new ArrayList<Integer>(n);
		for(int i = 0; i < n; i++){
			monkeys.add(i+1);
		}
		for(int i = 0; i < m; i++){
			int a = sc.nextInt();
			int b = sc.nextInt();

			int boss_a = monkeys.get(a-1);
			int boss_b = monkeys.get(b-1);
			int num_teama = 0, num_teamb = 0;
			for(int j = 0; j < n; j++){
				if(monkeys.get(j) == boss_a) num_teama++;
				if(monkeys.get(j) == boss_b) num_teamb++;
			}

			if(num_teama > num_teamb){
				for(int j = 0; j < n; j++){
					if(monkeys.get(j) == boss_b) monkeys.set(j, boss_a);
				}
			}else if(num_teamb > num_teama){
				for(int j = 0; j < n; j++){
					if(monkeys.get(j) == boss_a) monkeys.set(j, boss_b);
				}
			}else if(boss_a < boss_b){
				for(int j = 0; j < n; j++){
					if(monkeys.get(j) == boss_b) monkeys.set(j, boss_a);
				}
			}else if(boss_b < boss_a){
				for(int j = 0; j < n; j++){
					if(monkeys.get(j) == boss_a) monkeys.set(j, boss_b);
				}
			}
			// System.out.println(monkeys.toString());
		}

		for(int i = 0; i < n; i++){
			System.out.println(monkeys.get(i));
		}
	}
}
0