提出 #72891711


ソースコード 拡げる

#include <bits/stdc++.h>

using namespace std;

#define int long long

const int N = 2e5 + 10;
int dx[]{-1, -1, -1};
int dy[]{-1, 0, 1};

void solve()
{
    int n, c;
    cin >> n >> c;
    vector<string> s(n + 1);
    for (int i = 1; i <= n; i++)
        cin >> s[i], s[i] = " " + s[i];
    vector<vector<int>> pre(n + 2, vector<int>(n + 2));
    for (int j = n; j; j--)
    {
        for (int i = n; i; i--)
        {
            pre[i][j] = pre[i + 1][j] + (s[i][j] == '#');
        }
    }
    queue<array<int, 2>> q;
    q.push({n, c});
    vector<int> dest(n + 1);
    vector<vector<int>> vis(n + 1, vector<int>(n + 1));
    while (q.size())
    {
        auto [x, y] = q.front();
        q.pop();
        if (vis[x][y])
            continue;
        vis[x][y] = 1;
        for (int i = 0; i < 3; i++)
        {
            int nx = x + dx[i], ny = y + dy[i];
            if (nx < 0 or ny < 0 or ny > n)
                continue;
            if (s[nx][ny] == '.' and !vis[nx][ny])
            {
                q.push({nx, ny});
            }
            if (s[nx][ny] == '#')
            {
                if (!vis[nx][ny])
                {
                    if (pre[nx][ny] - dest[ny] == 1)
                    {
                        dest[ny]++;
                        q.push({nx, ny});
                    }
                }
            }
        }
    }
    for (int i = 1; i <= n; i++)
        cout << vis[1][i];
    cout << "\n";
}

signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int T = 1;
    cin >> T;
    while (T--)
        solve();

    return 0;
}

提出情報

提出日時
問題 E - Climbing Silver
ユーザ Hirasawaa
言語 C++23 (GCC 15.2.0)
得点 450
コード長 1675 Byte
結果 AC
実行時間 330 ms
メモリ 153768 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 450 / 450
結果
AC × 1
AC × 48
セット名 テストケース
Sample sample_01.txt
All sample_01.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt
ケース名 結果 実行時間 メモリ
sample_01.txt AC 1 ms 3516 KiB
test_01.txt AC 23 ms 3540 KiB
test_02.txt AC 31 ms 3560 KiB
test_03.txt AC 43 ms 3520 KiB
test_04.txt AC 53 ms 3512 KiB
test_05.txt AC 80 ms 3472 KiB
test_06.txt AC 79 ms 3472 KiB
test_07.txt AC 94 ms 3624 KiB
test_08.txt AC 110 ms 3416 KiB
test_09.txt AC 126 ms 3512 KiB
test_10.txt AC 143 ms 3756 KiB
test_11.txt AC 162 ms 3584 KiB
test_12.txt AC 181 ms 3496 KiB
test_13.txt AC 191 ms 3624 KiB
test_14.txt AC 142 ms 3644 KiB
test_15.txt AC 81 ms 5056 KiB
test_16.txt AC 81 ms 5288 KiB
test_17.txt AC 169 ms 153260 KiB
test_18.txt AC 282 ms 153616 KiB
test_19.txt AC 307 ms 153728 KiB
test_20.txt AC 167 ms 153292 KiB
test_21.txt AC 274 ms 153728 KiB
test_22.txt AC 276 ms 153564 KiB
test_23.txt AC 276 ms 153768 KiB
test_24.txt AC 166 ms 153356 KiB
test_25.txt AC 166 ms 153348 KiB
test_26.txt AC 167 ms 153264 KiB
test_27.txt AC 314 ms 153676 KiB
test_28.txt AC 309 ms 153604 KiB
test_29.txt AC 301 ms 153768 KiB
test_30.txt AC 271 ms 153656 KiB
test_31.txt AC 330 ms 153768 KiB
test_32.txt AC 219 ms 153600 KiB
test_33.txt AC 238 ms 153564 KiB
test_34.txt AC 187 ms 153336 KiB
test_35.txt AC 236 ms 153664 KiB
test_36.txt AC 322 ms 153768 KiB
test_37.txt AC 283 ms 153604 KiB
test_38.txt AC 247 ms 153704 KiB
test_39.txt AC 239 ms 153464 KiB
test_40.txt AC 262 ms 153664 KiB
test_41.txt AC 286 ms 153768 KiB
test_42.txt AC 166 ms 153408 KiB
test_43.txt AC 254 ms 153604 KiB
test_44.txt AC 167 ms 153264 KiB
test_45.txt AC 303 ms 153604 KiB
test_46.txt AC 166 ms 153292 KiB
test_47.txt AC 166 ms 153384 KiB