結果
| 問題 |
No.5017 Tool-assisted Shooting
|
| コンテスト | |
| ユーザー |
shirokami
|
| 提出日時 | 2023-07-16 14:56:52 |
| 言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 64 ms / 2,000 ms |
| コード長 | 1,146 bytes |
| コンパイル時間 | 3,590 ms |
| コンパイル使用メモリ | 319,472 KB |
| 実行使用メモリ | 24,408 KB |
| スコア | 74,830 |
| 平均クエリ数 | 399.74 |
| 最終ジャッジ日時 | 2023-07-16 14:57:06 |
| 合計ジャッジ時間 | 12,134 ms |
|
ジャッジサーバーID (参考情報) |
judge13 / judge12 |
| 純コード判定しない問題か言語 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 100 |
ソースコード
#include <bits/extc++.h>
using namespace std;
using uint = unsigned int;
using ll = long long;
using ull = unsigned long long;
using ld = long double;
struct enemy_state {
int hp;
int power;
};
int N; // 敵機の数
int turn = 0; // ターン数
vector<vector<enemy_state>> field(25, vector<enemy_state>(60)); // フィールドの初期化
vector<int> enemy_count(25); // いままでに出現した敵の数
void set_field() {
for (int i = 0; i < N; ++i) {
int h, p, x;
cin >> h >> p >> x;
field[x][59].hp = h;
field[x][59].power = p;
enemy_count[x]++;
}
}
void update_field() {
for (int i = 1; i < 25; i++) {
for (int j = 0; j < 60; j++) {
field[i-1][j] = field[i][j];
}
}
for (int i = 0; i < 60; i++) {
field[24][i].hp = 0;
field[24][i].power = 0;
}
turn++;
if (turn == 1000) {
exit(0);
}
}
int main() {
while (true) {
cin >> N;
if (N == -1) { // 終了
return 0;
}
// 敵が出現
set_field();
// テスト とりあえずその場にずっととどまる
cout << "S" << endl;
// ターンを更新
update_field();
}
}
shirokami