Submission #242976

# Submission time Handle Problem Language Result Execution time Memory
242976 2020-06-30T03:49:50 Z abacaba Kangaroo (CEOI16_kangaroo) C++14
0 / 100
5 ms 384 KB
#include <iostream>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <chrono>
#include <vector>
#include <map>
#include <random>
#include <set>
#include <algorithm>
#include <math.h>
#include <stdio.h>
#include <queue>
#include <bitset>
#include <deque>
#include <cassert>
using namespace std;

const int inf = 0x3f3f3f3f;
const int mod = 1e9 + 7;
const int N = 2e3 + 15;
int n, s, t, dp[N][N];

inline int add(int a, int b) {
    a += b;
    if(a >= mod)
        a -= mod;
    else if(a < 0)
        a += mod;
    return a;
}

inline void add_t(int &a, int b) {
    a = add(a, b);
}

inline int mt(int a, int b) {
    return 1ll * a * b % mod;
}

main() {
    ios_base::sync_with_stdio(0); cout.tie(0); cin.tie(0);
    // freopen("input.txt", "r", stdin);
    cin >> n >> s >> t;
    if(s > t)
        swap(s, t);
    dp[1][1] = 1;
    for(int i = 2; i <= n; ++i) {
        for(int j = 1; j <= n; ++j) {
            if(i == s || i == t)
                add_t(dp[i][j], add(dp[i-1][j-1], dp[i-1][j]));
            else
                add_t(dp[i][j], add(1ll * dp[i-1][j+1] * j % mod, 1ll * dp[i-1][j+1] * (j + 1 - (i > s) - (i > t)) % mod));
        }
    }
    cout << dp[n][1] << endl;
    return 0;
}

Compilation message

kangaroo.cpp:41:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main() {
      ^
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Incorrect 5 ms 384 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Incorrect 5 ms 384 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Incorrect 5 ms 384 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Incorrect 5 ms 384 KB Output isn't correct