Submission #1083424
Source Code Expand
#include<bits/stdc++.h> using namespace std; #define int long long typedef vector<int>vint; typedef pair<int,int>pint; typedef vector<pint>vpint; #define rep(i,n) for(int i=0;i<(n);i++) #define reps(i,f,n) for(int i=(f);i<(n);i++) #define all(v) (v).begin(),(v).end() #define each(it,v) for(__typeof((v).begin()) it=(v).begin();it!=(v).end();it++) #define pb push_back #define fi first #define se second template<typename A,typename B>inline void chmin(A &a,B b){if(a>b)a=b;} template<typename A,typename B>inline void chmax(A &a,B b){if(a<b)a=b;} const int mod=1000000007; int C[2222][2222]; int dp[2222][2222]; inline void add(int &a,int b){ a+=b; if(a>=mod)a-=mod; } signed main(){ for(int i=0;i<2222;i++){ C[i][i]=C[i][0]=1; for(int j=1;j<i;j++)C[i][j]=(C[i-1][j-1]+C[i-1][j])%mod; } int N,K; cin>>N>>K; for(int i=2;i<=N;i++)dp[1][i]=1; for(int i=1;i+1<K;i++){ int sum=0; for(int j=N;j>=2;j--){ if(N-j+1-i>0)add(dp[i+1][j],dp[i][j]); add(dp[i+1][j],sum); add(sum,dp[i][j]); } } int ans=0; if(K==1){ ans=1; } else{ for(int i=2;i<=N;i++)add(ans,dp[K-1][i]); } for(int i=0;i<N-K-1;i++)ans=ans*2%mod; cout<<ans<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Solitaire |
User | latte0119 |
Language | C++14 (GCC 5.4.1) |
Score | 1200 |
Code Size | 1359 Byte |
Status | AC |
Exec Time | 113 ms |
Memory | 62080 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1200 / 1200 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt |
All | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_example_01.txt | AC | 35 ms | 27520 KB |
00_example_02.txt | AC | 35 ms | 27392 KB |
00_example_03.txt | AC | 76 ms | 44672 KB |
01.txt | AC | 35 ms | 27392 KB |
02.txt | AC | 57 ms | 37632 KB |
03.txt | AC | 35 ms | 27520 KB |
04.txt | AC | 36 ms | 28032 KB |
05.txt | AC | 35 ms | 27392 KB |
06.txt | AC | 35 ms | 27392 KB |
07.txt | AC | 35 ms | 27392 KB |
08.txt | AC | 35 ms | 27520 KB |
09.txt | AC | 100 ms | 56448 KB |
10.txt | AC | 35 ms | 27392 KB |
11.txt | AC | 35 ms | 27392 KB |
12.txt | AC | 104 ms | 58240 KB |
13.txt | AC | 36 ms | 27648 KB |
14.txt | AC | 63 ms | 38912 KB |
15.txt | AC | 44 ms | 31360 KB |
16.txt | AC | 63 ms | 39296 KB |
17.txt | AC | 58 ms | 36864 KB |
18.txt | AC | 83 ms | 48640 KB |
19.txt | AC | 79 ms | 45952 KB |
20.txt | AC | 54 ms | 35456 KB |
21.txt | AC | 35 ms | 27392 KB |
22.txt | AC | 113 ms | 62080 KB |
23.txt | AC | 35 ms | 27392 KB |