結果
問題 | No.678 2Dシューティングゲームの必殺ビーム |
ユーザー |
![]() |
提出日時 | 2022-01-16 16:58:36 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 823 bytes |
コンパイル時間 | 362 ms |
コンパイル使用メモリ | 31,232 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-23 11:54:22 |
合計ジャッジ時間 | 1,153 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 18 |
ソースコード
#include<stdio.h> int max(int a, int b) { if (a > b) return a; else return b; } int main() { int n, l, r; scanf("%d %d %d", &n, &l, &r); int i, j; int xl[202], yu[202], xr[202], yd[202]; for (i = 0; i < n; i++) scanf("%d %d %d %d", &xl[i], &yu[i], &xr[i], &yd[i]); int c[202]; for (i = 0; i < n; i++) c[i] = i; for (i = 0; i < n - 1; i++) { if (yd[c[i]] < yd[c[i + 1]]) { c[i] ^= c[i + 1]; c[i + 1] ^= c[i]; c[i] ^= c[i + 1]; if (i > 0) i -= 2; } } int ans[202]; for (i = 0; i < n; i++) ans[i] = 0; int v[2003]; for (i = 0; i < 2003; i++) v[i] = 0; for (i = l; i <= r; i++) v[i] = 1; for (i = 0; i < n; i++) { for (j = max(0, xl[c[i]]); j <= xr[c[i]]; j++) { ans[c[i]] |= v[j]; v[j] = 0; } } for (i = 0; i < n; i++) printf("%d\n", ans[i]); return 0; }