結果
問題 | 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(); } }