Submission #2165602
Source Code Expand
#include <bits/stdc++.h> using namespace std; #define int long long int dx[] = {1, 0, -1, 0, 1, -1, -1, 1}; int dy[] = {0, 1, 0, -1, 1, 1, -1, -1}; /* #define cin ifs #define cout ofs ifstream ifs("in.txt"); ofstream ofs("out.txt"); //*/ int H, W, K, T; int omp[30][30], nmp[30][30] = {}; int A[450], B[450], C[450], D[450]; // xorshiftを用いた乱数 unsigned int xor64(int range) { static unsigned int x = 88172645463325252ULL; x = x ^ (x << 13); x = x ^ (x >> 7); return (x = x ^ (x << 17)) % range; } //盤面をリセット void reset() { for (int i = 0; i < 30; i++) { for (int j = 0; j < 30; j++) { omp[i][j] = nmp[i][j]; } } for (int i = 0; i < 30; i++) { for (int j = 0; j < 30; j++) { nmp[i][j] = -1; } } } signed main() { cin >> H >> W >> K >> T; reset(); for (int i = 0; i < 450; i++) { cin >> A[i] >> B[i] >> C[i] >> D[i]; A[i]--; B[i]--; C[i]--; D[i]--; nmp[A[i]][B[i]] = i; } int turn = 3000; cout << turn << endl; for (int i = 0; i < turn; i++) { reset(); double prob = exp(-10.0 / sqrt(turn - i + 1)); for (int j = 0; j < 450; j++) { if (xor64(2) == 0) { int dy = (C[j] - A[j] > 0) - (C[j] - A[j] < 0); if (prob > xor64(1000) / 1000.0) { dy = xor64(3) - 1; } if ((omp[A[j] + dy][B[j]] != -1 && omp[A[j] + dy][B[j]] != j) || nmp[A[j] + dy][B[j]] != -1 || A[j] + dy < 0 || A[j] + dy >= 30) { dy = 0; } A[j] += dy; nmp[A[j]][B[j]] = j; switch (dy) { case 1: cout << 'D'; break; case -1: cout << 'U'; break; case 0: cout << '-'; break; } } else { int dx = (D[j] - B[j] > 0) - (D[j] - B[j] < 0); if (prob > xor64(1000) / 1000.0) { dx = xor64(3) - 1; } if ((omp[A[j]][B[j] + dx] != -1 && omp[A[j]][B[j] + dx] != j) || nmp[A[j]][B[j] + dx] != -1 || B[j] + dx < 0 || B[j] + dx >= 30) { dx = 0; } B[j] += dx; nmp[A[j]][B[j]] = j; switch (dx) { case 1: cout << 'R'; break; case -1: cout << 'L'; break; case 0: cout << '-'; break; } } } cout << endl; } return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - 日本橋大渋滞 |
User | packer_jp |
Language | C++14 (GCC 5.4.1) |
Score | 105197 |
Code Size | 3093 Byte |
Status | AC |
Exec Time | 88 ms |
Memory | 1664 KB |
Judge Result
Set Name | test_01 | test_02 | test_03 | test_04 | test_05 | test_06 | test_07 | test_08 | test_09 | test_10 | test_11 | test_12 | test_13 | test_14 | test_15 | test_16 | test_17 | test_18 | test_19 | test_20 | test_21 | test_22 | test_23 | test_24 | test_25 | test_26 | test_27 | test_28 | test_29 | test_30 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 2907 / 50000 | 3847 / 50000 | 3473 / 50000 | 4386 / 50000 | 3572 / 50000 | 3473 / 50000 | 2942 / 50000 | 3847 / 50000 | 4033 / 50000 | 2942 / 50000 | 3206 / 50000 | 4311 / 50000 | 3379 / 50000 | 3473 / 50000 | 3473 / 50000 | 3013 / 50000 | 3379 / 50000 | 3125 / 50000 | 3473 / 50000 | 3379 / 50000 | 3013 / 50000 | 4717 / 50000 | 3290 / 50000 | 2605 / 50000 | 4167 / 50000 | 3290 / 50000 | 4311 / 50000 | 4386 / 50000 | 3125 / 50000 | 2660 / 50000 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Status |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Set Name | Test Cases |
---|---|
test_01 | subtask_01_01.txt |
test_02 | subtask_01_02.txt |
test_03 | subtask_01_03.txt |
test_04 | subtask_01_04.txt |
test_05 | subtask_01_05.txt |
test_06 | subtask_01_06.txt |
test_07 | subtask_01_07.txt |
test_08 | subtask_01_08.txt |
test_09 | subtask_01_09.txt |
test_10 | subtask_01_10.txt |
test_11 | subtask_01_11.txt |
test_12 | subtask_01_12.txt |
test_13 | subtask_01_13.txt |
test_14 | subtask_01_14.txt |
test_15 | subtask_01_15.txt |
test_16 | subtask_01_16.txt |
test_17 | subtask_01_17.txt |
test_18 | subtask_01_18.txt |
test_19 | subtask_01_19.txt |
test_20 | subtask_01_20.txt |
test_21 | subtask_01_21.txt |
test_22 | subtask_01_22.txt |
test_23 | subtask_01_23.txt |
test_24 | subtask_01_24.txt |
test_25 | subtask_01_25.txt |
test_26 | subtask_01_26.txt |
test_27 | subtask_01_27.txt |
test_28 | subtask_01_28.txt |
test_29 | subtask_01_29.txt |
test_30 | subtask_01_30.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask_01_01.txt | AC | 87 ms | 1536 KB |
subtask_01_02.txt | AC | 87 ms | 1536 KB |
subtask_01_03.txt | AC | 87 ms | 1536 KB |
subtask_01_04.txt | AC | 87 ms | 1536 KB |
subtask_01_05.txt | AC | 87 ms | 1536 KB |
subtask_01_06.txt | AC | 87 ms | 1536 KB |
subtask_01_07.txt | AC | 87 ms | 1664 KB |
subtask_01_08.txt | AC | 87 ms | 1536 KB |
subtask_01_09.txt | AC | 87 ms | 1536 KB |
subtask_01_10.txt | AC | 87 ms | 1536 KB |
subtask_01_11.txt | AC | 87 ms | 1536 KB |
subtask_01_12.txt | AC | 87 ms | 1536 KB |
subtask_01_13.txt | AC | 87 ms | 1536 KB |
subtask_01_14.txt | AC | 87 ms | 1536 KB |
subtask_01_15.txt | AC | 87 ms | 1536 KB |
subtask_01_16.txt | AC | 87 ms | 1536 KB |
subtask_01_17.txt | AC | 88 ms | 1536 KB |
subtask_01_18.txt | AC | 88 ms | 1536 KB |
subtask_01_19.txt | AC | 87 ms | 1536 KB |
subtask_01_20.txt | AC | 87 ms | 1536 KB |
subtask_01_21.txt | AC | 87 ms | 1536 KB |
subtask_01_22.txt | AC | 87 ms | 1536 KB |
subtask_01_23.txt | AC | 87 ms | 1536 KB |
subtask_01_24.txt | AC | 87 ms | 1536 KB |
subtask_01_25.txt | AC | 87 ms | 1536 KB |
subtask_01_26.txt | AC | 87 ms | 1536 KB |
subtask_01_27.txt | AC | 87 ms | 1536 KB |
subtask_01_28.txt | AC | 87 ms | 1536 KB |
subtask_01_29.txt | AC | 87 ms | 1536 KB |
subtask_01_30.txt | AC | 87 ms | 1536 KB |