提出 #76310030
ソースコード 拡げる
#include<bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define pii pair<int,int>
#define pll pair<ll,ll>
#define pb push_back
#define eb emplace_back
#define VI vector<int>
#define VII vector<pii>
#define VL vector<ll>
#define VLL vector<pll>
#define rep(i,l,r) for(int i=(l);i<=(r);++i)
#define per(i,r,l) for(int i=(r);i>=(l);--i)
#define LOCAL true
using namespace std;
bool st;
const bool MUL=false;
const int N=705;
int n;
ll p,c[N][N],p2[N],pval[N][N],q[N],f[N];
void clr(){
return;
}
void solve(){
cin>>n>>p;
rep(i,0,n){c[i][0]=1;rep(j,1,i)c[i][j]=(c[i-1][j-1]+c[i-1][j])%p;}
p2[0]=1;rep(i,1,n)p2[i]=p2[i-1]*2%p;
rep(k,0,n-1){
ll x=p2[k],nx=(p-x)%p;q[0]=1;
rep(a,1,n-k){
ll s=0;
rep(i,0,a-1)s=(s+c[a-1][i]*q[i])%p;
q[a]=nx*s%p;pval[a][k]=(p-q[a])%p;
}
}
f[0]=1;
rep(m,1,n){ll s=0;rep(a,1,m)s=(s+f[m-a]*pval[a][m-a]%p*c[m][a])%p;f[m]=s;}
ll ans=0;
rep(m,0,n)ans=(ans+c[n][m]*f[m])%p;
cout<<ans<<"\n";
return;
}
bool ed;
signed main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int tc=1;if(MUL){cin>>tc;}while(tc--)clr(),solve();
// cerr<<"time:"<<clock()<<"ms.\n";
// cerr<<fixed<<setprecision(4)<<"memory:"<<(1.0*(&st-&ed)/1048576.0)<<"MB.\n";
return 0;
}
提出情報
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
800 / 800 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt |
| All |
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 00_sample_00.txt |
AC |
1 ms |
3640 KiB |
| 00_sample_01.txt |
AC |
1 ms |
3652 KiB |
| 00_sample_02.txt |
AC |
1 ms |
3708 KiB |
| 00_sample_03.txt |
AC |
1 ms |
3632 KiB |
| 00_sample_04.txt |
AC |
2 ms |
4348 KiB |
| 01_test_00.txt |
AC |
1 ms |
3572 KiB |
| 01_test_01.txt |
AC |
1 ms |
3576 KiB |
| 01_test_02.txt |
AC |
1 ms |
3576 KiB |
| 01_test_03.txt |
AC |
1 ms |
3708 KiB |
| 01_test_04.txt |
AC |
1 ms |
3956 KiB |
| 01_test_05.txt |
AC |
2 ms |
4340 KiB |
| 01_test_06.txt |
AC |
3 ms |
4804 KiB |
| 01_test_07.txt |
AC |
4 ms |
5092 KiB |
| 01_test_08.txt |
AC |
6 ms |
5372 KiB |
| 01_test_09.txt |
AC |
12 ms |
5744 KiB |
| 01_test_10.txt |
AC |
18 ms |
6296 KiB |
| 01_test_11.txt |
AC |
25 ms |
6712 KiB |
| 01_test_12.txt |
AC |
30 ms |
6800 KiB |
| 01_test_13.txt |
AC |
40 ms |
7224 KiB |
| 01_test_14.txt |
AC |
58 ms |
7808 KiB |
| 01_test_15.txt |
AC |
66 ms |
7768 KiB |
| 01_test_16.txt |
AC |
86 ms |
8336 KiB |
| 01_test_17.txt |
AC |
104 ms |
8688 KiB |
| 01_test_18.txt |
AC |
127 ms |
9260 KiB |
| 01_test_19.txt |
AC |
173 ms |
9784 KiB |
| 01_test_20.txt |
AC |
204 ms |
10108 KiB |
| 01_test_21.txt |
AC |
255 ms |
10544 KiB |
| 01_test_22.txt |
AC |
264 ms |
10724 KiB |
| 01_test_23.txt |
AC |
299 ms |
11032 KiB |
| 01_test_24.txt |
AC |
297 ms |
11000 KiB |
| 01_test_25.txt |
AC |
297 ms |
11056 KiB |
| 01_test_26.txt |
AC |
295 ms |
11132 KiB |
| 01_test_27.txt |
AC |
294 ms |
10896 KiB |
| 01_test_28.txt |
AC |
293 ms |
10980 KiB |