Submission #61605


Source Code Expand

#include <iostream>
#include <string>
#include <vector>

using namespace std;

const int kDx[] = { -1, +1, 0, 0 };
const int kDy[] = { 0, 0, -1, +1 };

const int kMaxN = 100, kMaxM = 100, kMaxL = 100;
const int kInf = (1 << 24) - 1;

int main()
{
    int n, m, l;
    string s;
    cin >> n >> m >> l >> s;

    vector<string> c(n);
    for (int i = 0; i < n; i++) {
        cin >> c[i];
    }

    static int dp[kMaxN][kMaxM][4][kMaxL + 1];

    for (int y = 0; y < n; y++)
    for (int x = 0; x < m; x++) {
        for (int k = 0; k < 4; k++) { dp[y][x][k][0] = 0; }
    }

    for (int i = 0; i < l; i++) {
        for (int y = 0; y < n; y++)
        for (int x = 0; x < m; x++)
        for (int k = 0; k < 4; k++) {
            dp[y][x][k][i + 1] = kInf;
        }
        for (int y = 0; y < n; y++)
        for (int x = 0; x < m; x++)
        for (int k = 0; k < 4; k++) {
            int y1 = y, x1 = x, cost = 0;
            while (true) {
                y1 += kDy[k], x1 += kDx[k], ++cost;
                if (y1 < 0 || y1 >= n || x1 < 0 || x1 >= m) {
                    break;
                }
                if (c[y1][x1] == s[i]) {
                    for (int j = 0; j < 4; ++j) {
                        if (j == k) continue;
                        dp[y1][x1][k][i + 1] = min(dp[y1][x1][k][i + 1], dp[y][x][j][i] + cost);
                    }
                    break;
                }
            }
        }
    }

    int ans = kInf;
    for (int y = 0; y < n; y++)
    for (int x = 0; x < m; x++)
    for (int k = 0; k < 4; k++) {
        ans = min(ans, dp[y][x][k][l]);
    }
    if (ans == kInf) ans = -1;

    cout << ans << endl;
    return 0;
}

Submission Info

Submission Time
Task F - 僕は宇宙人
User yuizumi
Language C++ (G++ 4.6.4)
Score 100
Code Size 1743 Byte
Status AC
Exec Time 617 ms
Memory 16432 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 55
Set Name Test Cases
All case_000.txt, case_001.txt, case_002.txt, case_003.txt, case_004.txt, case_005.txt, case_006.txt, case_007.txt, case_008.txt, case_009.txt, case_010.txt, case_011.txt, case_012.txt, case_013.txt, case_014.txt, case_015.txt, case_016.txt, case_017.txt, case_018.txt, case_019.txt, case_020.txt, case_021.txt, case_022.txt, case_023.txt, case_024.txt, case_025.txt, case_026.txt, case_027.txt, case_028.txt, case_029.txt, case_030.txt, case_031.txt, case_032.txt, case_033.txt, case_034.txt, case_035.txt, case_036.txt, case_037.txt, case_038.txt, case_039.txt, case_040.txt, case_041.txt, case_042.txt, case_043.txt, case_044.txt, case_045.txt, case_046.txt, case_047.txt, case_048.txt, case_049.txt, case_050.txt, case_051.txt, case_052.txt, case_053.txt, case_054.txt
Case Name Status Exec Time Memory
case_000.txt AC 20 ms 784 KB
case_001.txt AC 20 ms 780 KB
case_002.txt AC 18 ms 780 KB
case_003.txt AC 18 ms 780 KB
case_004.txt AC 20 ms 784 KB
case_005.txt AC 19 ms 792 KB
case_006.txt AC 18 ms 780 KB
case_007.txt AC 20 ms 816 KB
case_008.txt AC 19 ms 912 KB
case_009.txt AC 20 ms 1172 KB
case_010.txt AC 22 ms 916 KB
case_011.txt AC 21 ms 1080 KB
case_012.txt AC 19 ms 784 KB
case_013.txt AC 617 ms 16432 KB
case_014.txt AC 613 ms 16432 KB
case_015.txt AC 343 ms 11284 KB
case_016.txt AC 94 ms 7352 KB
case_017.txt AC 144 ms 8604 KB
case_018.txt AC 84 ms 3504 KB
case_019.txt AC 241 ms 6800 KB
case_020.txt AC 47 ms 2996 KB
case_021.txt AC 42 ms 2872 KB
case_022.txt AC 49 ms 4664 KB
case_023.txt AC 78 ms 4364 KB
case_024.txt AC 159 ms 8764 KB
case_025.txt AC 23 ms 1204 KB
case_026.txt AC 54 ms 5308 KB
case_027.txt AC 53 ms 2196 KB
case_028.txt AC 49 ms 2096 KB
case_029.txt AC 65 ms 4656 KB
case_030.txt AC 258 ms 14076 KB
case_031.txt AC 219 ms 7348 KB
case_032.txt AC 93 ms 4408 KB
case_033.txt AC 49 ms 4788 KB
case_034.txt AC 29 ms 1292 KB
case_035.txt AC 266 ms 9392 KB
case_036.txt AC 28 ms 1560 KB
case_037.txt AC 109 ms 5164 KB
case_038.txt AC 48 ms 3344 KB
case_039.txt AC 88 ms 13704 KB
case_040.txt AC 498 ms 12468 KB
case_041.txt AC 176 ms 6196 KB
case_042.txt AC 25 ms 1808 KB
case_043.txt AC 58 ms 3244 KB
case_044.txt AC 20 ms 1168 KB
case_045.txt AC 32 ms 2868 KB
case_046.txt AC 28 ms 1808 KB
case_047.txt AC 317 ms 8632 KB
case_048.txt AC 74 ms 7568 KB
case_049.txt AC 24 ms 1424 KB
case_050.txt AC 166 ms 7344 KB
case_051.txt AC 53 ms 2316 KB
case_052.txt AC 211 ms 8252 KB
case_053.txt AC 65 ms 2568 KB
case_054.txt AC 33 ms 2444 KB