QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#806820#1816. Multiple ParenthesescwfxlhAC ✓249ms81844kbC++14968b2024-12-09 15:42:532024-12-09 15:42:53

Judging History

你现在查看的是最新测评结果

  • [2024-12-09 15:42:53]
  • 评测
  • 测评结果:AC
  • 用时:249ms
  • 内存:81844kb
  • [2024-12-09 15:42:53]
  • 提交

answer

#include<bits/stdc++.h>
#define int long long
#define MOD 998244353
using namespace std;
int n,m,k,jc[5000003],njc[5000003],ans;
int fstp(int X,int Y){int ret=1,bse=X%MOD;while(Y){if(Y%2)ret=ret*bse%MOD;bse=bse*bse%MOD;Y/=2;}return ret;}
int C(int X,int Y){if(X<0||Y<0||X<Y)return 0;return jc[X]*(njc[Y]*njc[X-Y]%MOD)%MOD;}
int calc(int A,int B){
	if(A<0)return 0;
	if(B==0)return (A==0);
	int ret=0;
	ret=(C(2*A+B-1,A)-C(2*A+B-1,A-1))%MOD;
	return ret;
}
int f(int X){return C(2*X,X)*fstp(X+1,MOD-2)%MOD;}
signed main(){
	ios::sync_with_stdio(false);
	jc[0]=1;
	for(int i=1;i<=5000000;i++)jc[i]=jc[i-1]*i%MOD;
	njc[5000000]=fstp(jc[5000000],MOD-2);
	for(int i=4999999;i>=0;i--)njc[i]=njc[i+1]*(i+1)%MOD;
	cin>>n>>m>>k;
	for(int i=0;i<=n;i++){
		if(i%2==0)ans=(ans+(fstp(f(k),i)*calc(m-i*k,n-i)%MOD)*C(n,i))%MOD;
		else ans=(ans-(fstp(f(k),i)*calc(m-i*k,n-i)%MOD)*C(n,i))%MOD;
	}
	ans%=MOD;
	ans+=MOD;
	ans%=MOD;
	cout<<ans;
	return 0;
}

详细

Test #1:

score: 100
Accepted
time: 43ms
memory: 81784kb

input:

2 2 1

output:

4

result:

ok answer is '4'

Test #2:

score: 0
Accepted
time: 43ms
memory: 81788kb

input:

1 1 1

output:

0

result:

ok answer is '0'

Test #3:

score: 0
Accepted
time: 44ms
memory: 81788kb

input:

24 120 30

output:

379268651

result:

ok answer is '379268651'

Test #4:

score: 0
Accepted
time: 40ms
memory: 81728kb

input:

1451 1598 1130

output:

884873572

result:

ok answer is '884873572'

Test #5:

score: 0
Accepted
time: 39ms
memory: 81772kb

input:

1324 1742 1033

output:

856733047

result:

ok answer is '856733047'

Test #6:

score: 0
Accepted
time: 39ms
memory: 81796kb

input:

1378 1614 1335

output:

869903701

result:

ok answer is '869903701'

Test #7:

score: 0
Accepted
time: 42ms
memory: 81804kb

input:

1071 1907 1281

output:

327700529

result:

ok answer is '327700529'

Test #8:

score: 0
Accepted
time: 41ms
memory: 81724kb

input:

1204 1337 1277

output:

475981175

result:

ok answer is '475981175'

Test #9:

score: 0
Accepted
time: 40ms
memory: 81776kb

input:

146 246 100

output:

404402509

result:

ok answer is '404402509'

Test #10:

score: 0
Accepted
time: 43ms
memory: 81840kb

input:

226 183 144

output:

351921989

result:

ok answer is '351921989'

Test #11:

score: 0
Accepted
time: 47ms
memory: 81772kb

input:

234 287 158

output:

658959115

result:

ok answer is '658959115'

Test #12:

score: 0
Accepted
time: 40ms
memory: 81788kb

input:

242 156 122

output:

325586111

result:

ok answer is '325586111'

Test #13:

score: 0
Accepted
time: 47ms
memory: 81716kb

input:

168 271 135

output:

181613866

result:

ok answer is '181613866'

Test #14:

score: 0
Accepted
time: 48ms
memory: 81788kb

input:

22 25 1

output:

684860973

result:

ok answer is '684860973'

Test #15:

score: 0
Accepted
time: 52ms
memory: 81732kb

input:

45 22 15

output:

217501624

result:

ok answer is '217501624'

Test #16:

score: 0
Accepted
time: 48ms
memory: 81720kb

input:

47 29 16

output:

690840771

result:

ok answer is '690840771'

Test #17:

score: 0
Accepted
time: 48ms
memory: 81720kb

input:

2 25 25

output:

660660974

result:

ok answer is '660660974'

Test #18:

score: 0
Accepted
time: 44ms
memory: 81728kb

input:

32 34 11

output:

133387056

result:

ok answer is '133387056'

Test #19:

score: 0
Accepted
time: 64ms
memory: 81788kb

input:

88196 118335 104471

output:

7192211

result:

ok answer is '7192211'

Test #20:

score: 0
Accepted
time: 60ms
memory: 81724kb

input:

142215 57117 51272

output:

627598793

result:

ok answer is '627598793'

Test #21:

score: 0
Accepted
time: 51ms
memory: 81800kb

input:

102255 60360 51525

output:

447649003

result:

ok answer is '447649003'

Test #22:

score: 0
Accepted
time: 66ms
memory: 81788kb

input:

132449 83413 54230

output:

215816803

result:

ok answer is '215816803'

Test #23:

score: 0
Accepted
time: 65ms
memory: 81844kb

input:

68499 95762 77190

output:

393029560

result:

ok answer is '393029560'

Test #24:

score: 0
Accepted
time: 199ms
memory: 81788kb

input:

751951 751951 1

output:

804170883

result:

ok answer is '804170883'

Test #25:

score: 0
Accepted
time: 215ms
memory: 81720kb

input:

804420 1962 410

output:

869056555

result:

ok answer is '869056555'

Test #26:

score: 0
Accepted
time: 212ms
memory: 81728kb

input:

828607 63739 13

output:

926542030

result:

ok answer is '926542030'

Test #27:

score: 0
Accepted
time: 131ms
memory: 81724kb

input:

472167 20529 23

output:

142703540

result:

ok answer is '142703540'

Test #28:

score: 0
Accepted
time: 115ms
memory: 81836kb

input:

363438 363438 1

output:

764563597

result:

ok answer is '764563597'

Test #29:

score: 0
Accepted
time: 236ms
memory: 81788kb

input:

1000000 1000000 628333

output:

283487375

result:

ok answer is '283487375'

Test #30:

score: 0
Accepted
time: 245ms
memory: 81784kb

input:

1000000 1000000 900084

output:

651386967

result:

ok answer is '651386967'

Test #31:

score: 0
Accepted
time: 249ms
memory: 81788kb

input:

1000000 1000000 27328

output:

621963453

result:

ok answer is '621963453'

Test #32:

score: 0
Accepted
time: 249ms
memory: 81780kb

input:

1000000 1000000 538409

output:

997879100

result:

ok answer is '997879100'

Test #33:

score: 0
Accepted
time: 244ms
memory: 81776kb

input:

1000000 1000000 928121

output:

964724707

result:

ok answer is '964724707'

Test #34:

score: 0
Accepted
time: 176ms
memory: 81800kb

input:

685624 665877 563708

output:

257429683

result:

ok answer is '257429683'

Test #35:

score: 0
Accepted
time: 181ms
memory: 81724kb

input:

692290 942095 553970

output:

82511143

result:

ok answer is '82511143'

Test #36:

score: 0
Accepted
time: 156ms
memory: 81716kb

input:

579579 765702 631728

output:

954001361

result:

ok answer is '954001361'

Test #37:

score: 0
Accepted
time: 195ms
memory: 81784kb

input:

756854 634736 567170

output:

393747028

result:

ok answer is '393747028'

Test #38:

score: 0
Accepted
time: 165ms
memory: 81696kb

input:

649175 997874 511181

output:

242172216

result:

ok answer is '242172216'

Test #39:

score: 0
Accepted
time: 195ms
memory: 81836kb

input:

786431 1000000 999999

output:

627359027

result:

ok answer is '627359027'