Submission #1261776

#TimeUsernameProblemLanguageResultExecution timeMemory
1261776nguyenhuythachKangaroo (CEOI16_kangaroo)C++20
0 / 100
1 ms320 KiB
#include<bits/stdc++.h> #include<algorithm> #include<random> #include<chrono> #include<cstdlib> #include<ctime> #include<numeric> #include<vector> #include<stack> #include<map> #include<set> #include<queue> #include<iomanip> #define int long long #define ll long long #define L LLONG_MAX #define fi first #define se second #define pii pair<int,int> #define sz(a) ((int)a.size()) #define FOR(i,j,k) for(int i=j;i<=k;i++) #define REP(i,k,j) for(int i=k;i>=j;i--) #define FORD(i,a) for(auto i:a) #define rngdcl mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()) #define random(l,r) ((l)+(rng()%(r-l+1))) using namespace std; const int mod=1e9+7; const int nmax=2001; int n,st,ed; int dp[nmax][nmax]; void input() { cin >> n >> st >> ed; } void solve() { dp[1][1]=1; FOR(i,2,n) { if(i==st || i==ed) { FOR(j,1,i) { dp[i][j]=(dp[i][j]+dp[i-1][j])%mod; dp[i][j]=(dp[i][j]+dp[i-1][j-1])%mod; } } else { FOR(j,1,i) { dp[i][j]=(dp[i][j]+j*dp[i-1][j-1])%mod; if(i>st) dp[i][j]=(dp[i][j]-dp[i-1][j-1])%mod; if(i>ed) dp[i][j]=(dp[i][j]-dp[i-1][j-1])%mod; dp[i][j]=(dp[i][j]+j*dp[i-1][j+1])%mod; } } } // FOR(i,1,n) {FOR(j,1,n) cout << dp[i][j] << ' '; cout << '\n';} cout << dp[n][1]; } signed main() { freopen("kangaroo.in", "r", stdin); freopen("kangaroo.out", "w", stdout); ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); input(); solve(); }

Compilation message (stderr)

kangaroo.cpp: In function 'int main()':
kangaroo.cpp:67:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   67 |     freopen("kangaroo.in", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
kangaroo.cpp:68:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   68 |     freopen("kangaroo.out", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...