Submission #548364

#TimeUsernameProblemLanguageResultExecution timeMemory
548364krit3379Kangaroo (CEOI16_kangaroo)C++17
51 / 100
96 ms71424 KiB
#include<bits/stdc++.h>
using namespace std;
#define N 205

int a[N][N][N],d[N][N][N],mod=1e9+7;

int main(){
    int n,s,e,i,j,k;
    scanf("%d %d %d",&n,&s,&e);
    if(n==2){
        printf("1");
        return 0;
    }
    a[2][1][2]=1;
    a[2][2][2]=1;
    d[2][2][1]=1;
    for(i=3;i<=n;i++){
        for(j=1;j<=i;j++){
            for(k=1;k<=i;k++){
                if(j==k){
                    a[i][j][k]=(a[i][j][k]+a[i][j-1][k])%mod;
                    d[i][j][k]=(d[i][j][k]+d[i][j-1][k])%mod;
                    continue;
                }
                a[i][j][k]=(d[i-1][i-1][k-(j<k)]-d[i-1][j-1][k-(j<k)]+mod)%mod;
                d[i][j][k]=a[i-1][j-1][k-(j<k)];
                if(i==n&&j==s&&k==e){
                    printf("%d",(a[i][j][k]+d[i][j][k])%mod);
                }
                a[i][j][k]=(a[i][j][k]+a[i][j-1][k])%mod;
                d[i][j][k]=(d[i][j][k]+d[i][j-1][k])%mod;
            }
        }
    }
    return 0;
}

Compilation message (stderr)

kangaroo.cpp: In function 'int main()':
kangaroo.cpp:9:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 |     scanf("%d %d %d",&n,&s,&e);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...