結果

問題 No.5017 Tool-assisted Shooting
ユーザー shirokamishirokami
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

#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();

  }
}
0