結果
問題 | No.5016 Worst Mayor |
ユーザー | e869120 |
提出日時 | 2023-04-23 17:44:24 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 96 ms / 2,000 ms |
コード長 | 1,658 bytes |
コンパイル時間 | 936 ms |
コンパイル使用メモリ | 89,784 KB |
実行使用メモリ | 24,396 KB |
スコア | 5,132,527,316 |
平均クエリ数 | 400.00 |
最終ジャッジ日時 | 2023-04-29 12:30:44 |
合計ジャッジ時間 | 8,403 ms |
ジャッジサーバーID (参考情報) |
judge13 / judge12 |
純コード判定しない問題か言語 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 96 ms
24,048 KB |
testcase_01 | AC | 90 ms
24,000 KB |
testcase_02 | AC | 89 ms
24,012 KB |
testcase_03 | AC | 88 ms
23,976 KB |
testcase_04 | AC | 89 ms
23,988 KB |
testcase_05 | AC | 90 ms
24,396 KB |
testcase_06 | AC | 87 ms
23,496 KB |
testcase_07 | AC | 90 ms
23,832 KB |
testcase_08 | AC | 90 ms
23,376 KB |
testcase_09 | AC | 90 ms
23,376 KB |
testcase_10 | AC | 88 ms
23,388 KB |
testcase_11 | AC | 90 ms
23,616 KB |
testcase_12 | AC | 91 ms
23,352 KB |
testcase_13 | AC | 91 ms
24,024 KB |
testcase_14 | AC | 91 ms
23,580 KB |
testcase_15 | AC | 91 ms
23,592 KB |
testcase_16 | AC | 92 ms
23,352 KB |
testcase_17 | AC | 92 ms
23,388 KB |
testcase_18 | AC | 92 ms
24,192 KB |
testcase_19 | AC | 92 ms
23,388 KB |
testcase_20 | AC | 92 ms
23,628 KB |
testcase_21 | AC | 91 ms
23,496 KB |
testcase_22 | AC | 85 ms
23,484 KB |
testcase_23 | AC | 91 ms
24,252 KB |
testcase_24 | AC | 91 ms
23,628 KB |
testcase_25 | AC | 92 ms
23,580 KB |
testcase_26 | AC | 92 ms
24,012 KB |
testcase_27 | AC | 92 ms
23,376 KB |
testcase_28 | AC | 90 ms
24,048 KB |
testcase_29 | AC | 93 ms
23,364 KB |
testcase_30 | AC | 92 ms
23,376 KB |
testcase_31 | AC | 92 ms
23,388 KB |
testcase_32 | AC | 91 ms
24,192 KB |
testcase_33 | AC | 91 ms
23,976 KB |
testcase_34 | AC | 91 ms
23,532 KB |
testcase_35 | AC | 91 ms
23,412 KB |
testcase_36 | AC | 90 ms
24,036 KB |
testcase_37 | AC | 92 ms
23,616 KB |
testcase_38 | AC | 92 ms
23,988 KB |
testcase_39 | AC | 92 ms
23,628 KB |
testcase_40 | AC | 92 ms
23,640 KB |
testcase_41 | AC | 91 ms
24,324 KB |
testcase_42 | AC | 92 ms
24,048 KB |
testcase_43 | AC | 93 ms
24,048 KB |
testcase_44 | AC | 90 ms
23,400 KB |
testcase_45 | AC | 91 ms
23,412 KB |
testcase_46 | AC | 91 ms
24,240 KB |
testcase_47 | AC | 94 ms
24,252 KB |
testcase_48 | AC | 91 ms
23,352 KB |
testcase_49 | AC | 91 ms
23,316 KB |
ソースコード
#include <iostream> #include <cmath> #include <tuple> #include <vector> #include <algorithm> using namespace std; int N, T; int A[3009], B[3009], C[3009], D[3009]; int Build[1009]; int CountRoads = 0; vector<tuple<int, int, int, int, int>> vec; int Distance(int sx, int sy) { return (sx * 2 - 11) * (sx * 2 - 11) + (sy * 2 - 11) * (sy * 2 - 11); } int main() { // Input cin >> N >> T; for (int i = 1; i <= N; i++) cin >> A[i] >> B[i] >> C[i] >> D[i]; for (int i = 1; i <= 1000; i++) Build[i] = (int)(10000000.0 / sqrt(1.0 * i)); // Sort Order for (int i = 1; i <= 10; i++) { for (int j = 1; j <= 9; j++) vec.push_back(make_tuple(Distance(i, j) + Distance(i, j + 1), i, j, i, j + 1)); } for (int i = 1; i <= 9; i++) { for (int j = 1; j <= 10; j++) vec.push_back(make_tuple(Distance(i, j) + Distance(i + 1, j), i, j, i + 1, j)); } sort(vec.begin(), vec.end()); // Interactive for (int i = 1; i <= T; i++) { int CurrentMoney; int CurrentCorp; cin >> CurrentMoney >> CurrentCorp; if (CurrentMoney == -1 && CurrentCorp == -1) break; cerr << CurrentMoney << " " << CurrentCorp << " " << CountRoads << endl; // 行動の設定 if (i <= 30) { cout << "3" << endl; } else if (i > 270) { cout << "3" << endl; } else if (CurrentMoney < Build[CurrentCorp]) { cout << "2" << endl; } else if (CountRoads < vec.size()) { int sx = get<1>(vec[CountRoads]); int sy = get<2>(vec[CountRoads]); int tx = get<3>(vec[CountRoads]); int ty = get<4>(vec[CountRoads]); cout << "1 " << sx << " " << sy << " " << tx << " " << ty << endl; CountRoads += 1; } else { cout << "2" << endl; } } return 0; }