提出 #69538802


ソースコード 拡げる

#include <iostream>
#include <string>
#include <algorithm>
#include <functional>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <tuple>
#include <cstdio>
#include <cmath>
#include <cassert>
#include <atcoder/all>
#define rep(i, n) for(i = 0; i < n; i++)
#define int long long
using namespace std;
using namespace atcoder;
using mint = modint998244353;

// PASS GRAPH WO FUKUMU KOTO
int n;
int a[300000];
mint dp[300001][2];

signed main() {
    int i, j;

    cin >> n;
    rep(i, n) { cin >> a[i]; a[i]--; }
    
    dp[0][0] = 1;
    rep(i, n - 1) {
        rep(j, 2) {
            if (a[i] != -2) {
                if (a[i] != i + 1) {
                    if (j == 0) {
                        dp[i + 1][1] += dp[i][j];
                    }
                }
                else { //a[i] == i + 1
                    if (j == 1 && a[i] != i - 1) continue;
                    dp[i + 1][j] += dp[i][j];
                }
            }
            else { // a[i] == -1
                if (j == 0) {
                    dp[i + 1][1] += dp[i][j] * (n - 1);
                    dp[i + 1][0] += dp[i][j];
                }
                else {
                    dp[i + 1][j] += dp[i][j];
                }
            }
        }
    }

    rep(i, n) {
        rep(j, 2) {
           // cout << dp[i][j].val() << " ";
        }
     //   cout << endl;
    }

    mint ans = dp[n - 1][0] * n + dp[n - 1][1];

    cout << ans.val() << endl;
    return 0;
}

提出情報

提出日時
問題 C - Tree Sequence
ユーザ startcpp
言語 C++ 20 (gcc 12.2)
得点 0
コード長 1569 Byte
結果 WA
実行時間 33 ms
メモリ 7516 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 0 / 600
結果
AC × 3
AC × 14
WA × 20
セット名 テストケース
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 02_min_00.txt, 02_min_01.txt, 02_min_02.txt, 02_min_03.txt, 02_min_04.txt, 02_min_05.txt, 02_min_06.txt, 02_min_07.txt, 02_min_08.txt, 02_min_09.txt, 02_min_10.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 3 ms 5868 KiB
00_sample_01.txt AC 3 ms 5752 KiB
00_sample_02.txt AC 3 ms 5820 KiB
01_random_00.txt WA 25 ms 7120 KiB
01_random_01.txt WA 22 ms 6812 KiB
01_random_02.txt WA 33 ms 7368 KiB
01_random_03.txt WA 32 ms 7444 KiB
01_random_04.txt WA 32 ms 7308 KiB
01_random_05.txt WA 24 ms 7132 KiB
01_random_06.txt WA 20 ms 7088 KiB
01_random_07.txt WA 29 ms 7408 KiB
01_random_08.txt WA 30 ms 7404 KiB
01_random_09.txt WA 32 ms 7468 KiB
01_random_10.txt WA 25 ms 7400 KiB
01_random_11.txt WA 25 ms 7404 KiB
01_random_12.txt AC 25 ms 7308 KiB
01_random_13.txt AC 25 ms 7404 KiB
01_random_14.txt WA 26 ms 7508 KiB
01_random_15.txt AC 25 ms 7516 KiB
01_random_16.txt WA 25 ms 7428 KiB
01_random_17.txt AC 25 ms 7440 KiB
01_random_18.txt AC 25 ms 7388 KiB
01_random_19.txt WA 25 ms 7440 KiB
02_min_00.txt AC 3 ms 5864 KiB
02_min_01.txt AC 3 ms 5948 KiB
02_min_02.txt AC 3 ms 5840 KiB
02_min_03.txt WA 3 ms 5748 KiB
02_min_04.txt AC 3 ms 5820 KiB
02_min_05.txt WA 3 ms 5824 KiB
02_min_06.txt WA 3 ms 5840 KiB
02_min_07.txt AC 3 ms 5748 KiB
02_min_08.txt WA 3 ms 5844 KiB
02_min_09.txt WA 3 ms 5748 KiB
02_min_10.txt AC 3 ms 5840 KiB