結果
| 問題 |
No.678 2Dシューティングゲームの必殺ビーム
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-04-28 14:59:24 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 64 ms / 2,000 ms |
| コード長 | 1,872 bytes |
| コンパイル時間 | 2,196 ms |
| コンパイル使用メモリ | 78,200 KB |
| 実行使用メモリ | 37,588 KB |
| 最終ジャッジ日時 | 2024-06-27 23:19:44 |
| 合計ジャッジ時間 | 3,850 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 18 |
ソースコード
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;
class Enemy{
int xl,yu,xr,yd;
int number;
Enemy(int xl , int yu , int xr , int yd, int number){
this.xl = xl;
this.yu = yu;
this.xr = xr;
this.yd = yd;
this.number = number;
}
}
class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] input = br.readLine().split(" ");
int n = Integer.parseInt(input[0]);
int laserL = Integer.parseInt(input[1]);
int laserR = Integer.parseInt(input[2]);
int[] beam = new int[1281];
Arrays.fill(beam, 0);
Enemy[] enemies = new Enemy[n];
for(int i = 0; i < n; i++){
input = br.readLine().split(" ");
enemies[i] = new Enemy(Integer.parseInt(input[0]),Integer.parseInt(input[1]),
Integer.parseInt(input[2]), Integer.parseInt(input[3]), i+1);
}
Arrays.sort(enemies, new Comparator<Enemy>(){
@Override
public int compare(Enemy e1, Enemy e2){
return e1.yd - e2.yd;
}
});
for(int i = 0; i < n; i++){
for(int j = Math.max(1,enemies[i].xl); j <= Math.min(1280,enemies[i].xr); j++){
beam[j] = enemies[i].number;
}
}
boolean[] hit = new boolean[n];
for(int i = laserL; i <= laserR; i++){
if(beam[i] != 0){
hit[beam[i]-1] = true;
}
}
for(int i = 0; i < n; i++){
if(hit[i]) System.out.println("1");
else System.out.println("0");
}
}
}