Submission #316507

# Submission time Handle Problem Language Result Execution time Memory
316507 2020-10-26T13:30:23 Z Dymo Kangaroo (CEOI16_kangaroo) C++14
0 / 100
1 ms 384 KB
#include<bits/stdc++.h>

using namespace std;


#define pb    push_back
#define ll long long
#define pll pair<ll,ll>
#define ff first
#define ss second
#define endl "\n"
const ll maxn=3e3+50;
const ll mod =1e9+7;
const ll base=1e17;

ll dp[maxn][maxn];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    if (fopen("GIDDY.t", "r"))
    {
        freopen("GIDDY.inp", "r", stdin);
        freopen("GIDDY.out", "w", stdout) ;
    }
    ll n, st, ed;
    cin>>n>>st>>ed;
    if (st>ed)
        swap(st,ed);
    dp[0][0]=1;
    for (ll i=1; i<=n; i++)
    {
        for (ll j=0; j<=i; j++)
        {
            if (i!=st&&i!=ed)
            {

                // them 1 nhom loai 1;
                if (j)
                    dp[i][j]=(dp[i][j]+dp[i-1][j-1])%mod;
                // ghep 2 nhom loai 1;
               if (j) dp[i][j]=(dp[i][j]+dp[i-1][j+1]*(j+1)*j)%mod;
                // ghep nhom st va  nhom loai 1;
                if (i>st)
                {
                    dp[i][j]=(dp[i][j]+dp[i-1][j+1]*(j+1))%mod;
                }
                // ghep nhom ed va  nhom loai 1;
                if (i>ed)
                {
                    dp[i][j]=(dp[i][j]+dp[i-1][j+1]*(j+1))%mod;

                }
            }
            else
            {
                dp[i][j]=(dp[i][j]+dp[i-1][j])%mod;
               if (j) dp[i][j]=(dp[i][j]+dp[i-1][j+1]*(j+1))%mod;
            }
        }
    }
    cout <<dp[n][0];
}

Compilation message

kangaroo.cpp: In function 'int main()':
kangaroo.cpp:25:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   25 |         freopen("GIDDY.inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
kangaroo.cpp:26:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   26 |         freopen("GIDDY.out", "w", stdout) ;
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Incorrect 0 ms 384 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Incorrect 0 ms 384 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Incorrect 0 ms 384 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Incorrect 0 ms 384 KB Output isn't correct