結果
| 問題 | No.5025 Forest Fire |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-10-24 15:14:56 |
| 言語 | C++23 (gcc 15.3.0 + boost 1.92.0 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 1 ms / 2,000 ms |
| + 911µs | |
| コード長 | 1,454 bytes |
| 記録 | |
| コンパイル時間 | 1,243 ms |
| コンパイル使用メモリ | 185,344 KB |
| 実行使用メモリ | 9,924 KB |
| スコア | 50,000,000 |
| 最終ジャッジ日時 | 2026-10-24 15:15:47 |
| 合計ジャッジ時間 | 51,403 ms |
|
ジャッジサーバーID (参考情報) |
judge6_0 / <nil> |
| 純コード判定しない問題か言語 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 50 |
ソースコード
#include <cmath>
#include <iostream>
#include <utility>
#include <vector>
struct Input {
int N = 0;
int K = 0;
std::vector<std::vector<int>> d;
};
struct Output {
std::vector<std::pair<int, int>> cut_trees;
};
Input read_input(std::istream& in = std::cin) {
Input input;
in >> input.N >> input.K;
input.d.assign(input.N, std::vector<int>(input.N));
for (int i = 0; i < input.N; ++i) {
for (int j = 0; j < input.N; ++j) {
// 乾燥度は1桁なので、連続した数字と空白区切りの両方を読める。
char digit;
in >> digit;
input.d[i][j] = digit - '0';
}
}
return input;
}
void print_output(const Output& output, std::ostream& out = std::cout) {
out << output.cut_trees.size() << '\n';
for (const auto& [i, j] : output.cut_trees) {
out << i << ' ' << j << '\n';
}
}
Output solve(const Input& input) {
// 解法は未実装。この関数では標準出力を行わない。
(void)input;
return {};
}
// E0 と E は正の期待焼失本数。期待値自体の計算は行わない。
long long calc_score(double E0, double E) {
return std::llround(1'000'000.0 * (1.0 + std::log2(E0 / E)));
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
const Input input = read_input();
const Output output = solve(input);
print_output(output);
return 0;
}