제출 #1261776

#제출 시각아이디문제언어결과실행 시간메모리
1261776nguyenhuythach캥거루 (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();
}

컴파일 시 표준 에러 (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...