Submission #1349854

#TimeUsernameProblemLanguageResultExecution timeMemory
1349854SSKMF캥거루 (CEOI16_kangaroo)C++20
0 / 100
0 ms344 KiB
#include <bits/stdc++.h>
using namespace std;

const int mod(1000000007);
int modalitati[2001][2002];

int main ()
{
    ios :: sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);

    int lungime , inceput , sfarsit;
    cin >> lungime >> inceput >> sfarsit;

    modalitati[0][0] = 1;
    for (int indice = 1 ; indice <= lungime ; indice++)
    {
        if (indice == inceput || indice == sfarsit) {
            for (int numar_componente = 1 ; numar_componente <= indice ; numar_componente++)
                { modalitati[indice][numar_componente] = (modalitati[indice - 1][numar_componente - 1] + modalitati[indice - 1][numar_componente]) % mod; }
        }
        else {
            for (int numar_componente = 1 ; numar_componente <= indice ; numar_componente++)
                { modalitati[indice][numar_componente] = 1LL * (modalitati[indice - 1][numar_componente - 1] + modalitati[indice - 1][numar_componente + 1]) * numar_componente % mod; }
        }
    }
    
    cout << modalitati[lungime][1];
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...