Submission #96883

# Submission time Handle Problem Language Result Execution time Memory
96883 2019-02-12T15:37:27 Z Kastanda Kangaroo (CEOI16_kangaroo) C++11
0 / 100
3 ms 640 KB
// I do it for the glory
#include<bits/stdc++.h>
using namespace std;
const int N = 205, Mod = 1e9 + 7;
int dp[2][N][N][2];
int ps[N][N][2];
inline int MOD(int a)
{
    if (a >= Mod) a -= Mod;
    if (a < 0) a += Mod;
    return a;
}
int main()
{
    int n, s, f;
    scanf("%d%d%d", &n, &s, &f);
    dp[0][1][2][0] = dp[0][2][1][1] = 1;
    for (int i = 3; i <= n; i ++)
    {
        int w = i & 1;
        memset(ps, 0, sizeof(ps));
        for (int st = 1; st <= i - 1; st ++)
            for (int fn = 1; fn <= i - 1; fn ++)
            {
                ps[st][fn][0] = MOD(ps[st-1][fn][0] + dp[!w][st][fn][0]);
                ps[st][fn][1] = MOD(ps[st-1][fn][1] + dp[!w][st][fn][1]);
            }
        for (int st = 1; st <= i; st ++)
            for (int fn = st + 1; fn <= i; fn ++)
            {
                dp[w][st][fn][0] = MOD(ps[i-1][fn-1][1] - ps[st][fn-1][1]);
                dp[w][st][fn][1] = ps[st-1][fn-1][0];

                dp[w][fn][st][0] = dp[w][st][fn][0];
                dp[w][fn][st][1] = dp[w][st][fn][1];
            }
    }
    return !printf("%d\n", MOD(dp[n & 1][s][f][0] + dp[n & 1][s][f][1]));
}

Compilation message

kangaroo.cpp: In function 'int main()':
kangaroo.cpp:16:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d%d", &n, &s, &f);
     ~~~~~^~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 640 KB Output is correct
2 Incorrect 3 ms 640 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 640 KB Output is correct
2 Incorrect 3 ms 640 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 640 KB Output is correct
2 Incorrect 3 ms 640 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 640 KB Output is correct
2 Incorrect 3 ms 640 KB Output isn't correct