UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#148893#37. 染色EasonHe54954ms392412kbC++680b2022-07-18 14:11:592022-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'