Submission #1201113

#TimeUsernameProblemLanguageResultExecution timeMemory
1201113hynmjKangaroo (CEOI16_kangaroo)C++20
0 / 100
43 ms55616 KiB
//~~~~~~~~~~~~~MJ®™~~~~~~~~~~~~~ #include <bits/stdc++.h> #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx") #define rep1(n) for(ll i=0; i<(ll)(n); ++i) #define rep2(i,n) for(ll i=0; i<(ll)(n); ++i) #define rep3(i,a,b) for(ll i=(ll)(a); i<(ll)(b); ++i) #define rep4(i,a,b,c) for(ll i=(ll)(a); i<(ll)(b); i+=(c)) #define cut4(a,b,c,d,e,...) e #define rep(...) cut4(__VA_ARGS__,rep4,rep3,rep2,rep1)(__VA_ARGS__) #define per1(n) for(ll i=((ll)n)-1; i>=0; --i) #define per2(i,n) for(ll i=((ll)n)-1; i>=0; --i) #define per3(i,a,b) for(ll i=((ll)a)-1; i>=(ll)(b); --i) #define per4(i,a,b,c) for(ll i=((ll)a)-1; i>=(ll)(b); i-=(c)) #define per(...) cut4(__VA_ARGS__,per4,per3,per2,per1)(__VA_ARGS__) #define ll long long #define ln cout<<endl #define int long long #define vv vector<vi> #define vp vector<pi> #define append push_back #define all(x) (x).begin(),(x).end() #define allr(x) (x).rbegin(),(x).rend() #define vi vector<int> #define ret(x) {cout<<x;return;} #define ui map<int,int> #define pi pair<int,int> #define ff first #define ss second using namespace std; const int INF = 1e18, MOD = 1e9+7, N = 2e3+7; int dp [N][N][3]; void solve() { int s; int n, k, e, m, ans = 0; cin >> n >> s >> e; dp[1][1][(s==1) +(e==1)] = 1; rep(i,0,n+1) { rep(j,0,i+1) { if ((i+1)==s or (i+1)==e) { rep(k,2) { dp[i+1][j][k+1] += dp[i][j][k]; dp[i+1][j+1][k+1] += dp[i][j][k]; dp[i+1][j][k+1] %= MOD; dp[i+1][j+1][k+1] %= MOD; } } else { rep(k,3) { dp [i+1][j+1][k] +=dp[i][j][k] * (j+1-k) ; dp [i+1][j-1][k] +=dp[i][j][k] * (j-1) ; dp [i+1][j+1][k] %= MOD; dp [i+1][j-1][k] %= MOD; // cout << "i = " << i << " j = " << j << " k = " << k << endl; // cout << dp[i+1][j+1][k] << " " << dp[i+1][j-1][k] << " " << dp[i][j][k] << endl; } } } } // rep(i,0,n+1) // { // rep(j,0,i+1) // { // rep(k,3) // { // cout << "i = " << i << " j = " << j << " k = " << k << endl; // cout << dp[i][j][k] << endl; // } // } // } cout << dp[n][1][2]; // cout << ans; // cout << a.size(); // for (auto i: a){cout << i << " ";} } signed main(){ ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); int ans=1; freopen("kangaroo.txt", "r", stdin); freopen("kangaroo.txt", "w", stdout); //cout<<setprecision(1000); // cin>>ans; rep(ans){ // cout << "Case #" << i+1 << ": "; solve();ln;}}

Compilation message (stderr)

kangaroo.cpp: In function 'int main()':
kangaroo.cpp:94:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   94 |     freopen("kangaroo.txt", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
kangaroo.cpp:95:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   95 |     freopen("kangaroo.txt", "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...