結果

問題 No.497 入れ子の箱
ユーザー fal_rnd
提出日時 2017-03-24 23:07:44
言語 Java
(openjdk 23)
結果
WA  
実行時間 -
コード長 979 bytes
コンパイル時間 2,158 ms
コンパイル使用メモリ 77,560 KB
実行使用メモリ 57,472 KB
最終ジャッジ日時 2024-07-05 23:25:55
合計ジャッジ時間 9,782 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 15 WA * 14
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*;

public class Main {
	static final Scanner s = new Scanner(System.in);
	public static void main(String args[]){
		Box[] boxes = new Box[s.nextInt()];
		for(int i=0;i<boxes.length;i++)
			boxes[i]=new Box(s.nextInt(), s.nextInt(), s.nextInt());

		Arrays.sort(boxes);
		//Arrays.stream(boxes).forEach(System.out::println);

		int nest=1;
		Box inner = boxes[0];
		for(int i=1;i<boxes.length;i++) {
			if(boxes[i].isRearryLargerThan(inner)) {
				inner=(boxes[i]);
				nest++;
			}
		}
		System.out.println(nest);
	}
}
class Box implements Comparable<Box>{
	int v[];
	public Box(int x,int y,int z) {
		v = new int[]{x,y,z};
		Arrays.sort(v);
	}
	public boolean isRearryLargerThan(Box b) {
		return v[0]>b.v[0]&&v[1]>b.v[1]&&v[2]>b.v[2];
	}
	@Override
	public int compareTo(Box o) {
		if(v[0]-o.v[0]!=0) return v[0]-o.v[0];
		if(v[1]-o.v[1]!=0) return v[1]-o.v[1];
		return v[2]-o.v[2];
	}
	@Override
	public String toString() {
		return Arrays.toString(v);
	}
}
0