ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#148893 | #37. 染色 | EasonHe | 5 | 4954ms | 392412kb | C++ | 680b | 2022-07-18 14:11:59 | 2022-07-18 14:12:00 |
answer
#include<bits/stdc++.h>
#include<cstdio>
using namespace std;
long long dp[5005][5005],s[5005][5005],p;
long long n,m;
long long power(long long a,long long b,long long n){
if(b==0)return 1%n;
long long ans=1;
long long x=power(a,b/2,n);
x%=n;
ans=(x*x)%n;
if(b%2)ans=ans*(a%n);
ans%=n;
return ans;
}
int main()
{
if(n<m){
cout<<power(n,m,p);
return 0;
}
cin>>n>>m>>p;
for(int i=1;i<=m;i++)dp[0][i]=1,s[i][0]=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(i>=m)dp[i][j]=s[j][i]-s[j][i-m];
else dp[i][j]=s[j][i];
s[j][i]=s[j][i-1]+dp[i][j];
s[j][i]%=p;
dp[i][j]%=p;
}
}
cout<<((dp[n][m]%p)+p)%p;
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 1228kb
input:
5 2 6
output:
1
result:
wrong answer 1st numbers differ - expected: '2', found: '1'
Test #2:
score: 0
Wrong Answer
time: 1ms
memory: 1260kb
input:
8 8 562455908
output:
562455907
result:
wrong answer 1st numbers differ - expected: '16736896', found: '562455907'
Test #3:
score: 0
Wrong Answer
time: 0ms
memory: 11036kb
input:
1942 7 873185963
output:
387616767
result:
wrong answer 1st numbers differ - expected: '41441893', found: '387616767'
Test #4:
score: 0
Wrong Answer
time: 0ms
memory: 11608kb
input:
2030 10 187301366
output:
155131700
result:
wrong answer 1st numbers differ - expected: '171496026', found: '155131700'
Test #5:
score: 0
Wrong Answer
time: 5ms
memory: 22364kb
input:
4643 9 998244353
output:
852074014
result:
wrong answer 1st numbers differ - expected: '583546139', found: '852074014'
Test #6:
score: 0
Wrong Answer
time: 315ms
memory: 113852kb
input:
1447 3969 998244353
output:
0
result:
wrong answer 1st numbers differ - expected: '669602806', found: '0'
Test #7:
score: 0
Wrong Answer
time: 0ms
memory: 5616kb
input:
226 212 998244352
output:
998244351
result:
wrong answer 1st numbers differ - expected: '503316480', found: '998244351'
Test #8:
score: 0
Wrong Answer
time: 5ms
memory: 6840kb
input:
300 292 779230672
output:
779230671
result:
wrong answer 1st numbers differ - expected: '95153840', found: '779230671'
Test #9:
score: 0
Wrong Answer
time: 4ms
memory: 6056kb
input:
269 228 479932618
output:
479932617
result:
wrong answer 1st numbers differ - expected: '244481530', found: '479932617'
Test #10:
score: 0
Wrong Answer
time: 0ms
memory: 4820kb
input:
216 112 207794912
output:
207794911
result:
wrong answer 1st numbers differ - expected: '145540448', found: '207794911'
Test #11:
score: 0
Wrong Answer
time: 0ms
memory: 6508kb
input:
291 261 37264436
output:
37264435
result:
wrong answer 1st numbers differ - expected: '28883269', found: '37264435'
Test #12:
score: 0
Wrong Answer
time: 0ms
memory: 6008kb
input:
273 218 960539553
output:
960539552
result:
wrong answer 1st numbers differ - expected: '718739009', found: '960539552'
Test #13:
score: 0
Wrong Answer
time: 367ms
memory: 132288kb
input:
2991 2318 704783019
output:
704783018
result:
wrong answer 1st numbers differ - expected: '517763339', found: '704783018'
Test #14:
score: 0
Wrong Answer
time: 149ms
memory: 78268kb
input:
4413 790 693631006
output:
451826601
result:
wrong answer 1st numbers differ - expected: '634441922', found: '451826601'
Test #15:
score: 5
Accepted
time: 1198ms
memory: 368648kb
input:
4786 4581 2
output:
1
result:
ok 1 number(s): "1"
Test #16:
score: 0
Wrong Answer
time: 1142ms
memory: 366348kb
input:
4953 4424 876277826
output:
876277825
result:
wrong answer 1st numbers differ - expected: '746769658', found: '876277825'
Test #17:
score: 0
Wrong Answer
time: 8ms
memory: 25664kb
input:
4921 37 699201223
output:
203374678
result:
wrong answer 1st numbers differ - expected: '206663263', found: '203374678'
Test #18:
score: 0
Wrong Answer
time: 215ms
memory: 100536kb
input:
4991 994 533908193
output:
173281114
result:
wrong answer 1st numbers differ - expected: '86765287', found: '173281114'
Test #19:
score: 0
Wrong Answer
time: 1297ms
memory: 392412kb
input:
5000 5000 640462742
output:
640462741
result:
wrong answer 1st numbers differ - expected: '518214138', found: '640462741'
Test #20:
score: 0
Wrong Answer
time: 248ms
memory: 98956kb
input:
4935 1005 961254358
output:
126672560
result:
wrong answer 1st numbers differ - expected: '202283451', found: '126672560'