QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#449205 | #7018. Insertion Sort | Graphcity | AC ✓ | 3ms | 3808kb | C++20 | 620b | 2024-06-20 20:04:52 | 2024-06-20 20:04:52 |
Judging History
answer
#include<bits/stdc++.h>
#define For(i,a,b) for(int i=(a);i<=(b);++i)
#define Rof(i,a,b) for(int i=(a);i>=(b);--i)
using namespace std;
const int Maxn=2e5;
int n,m,Mod,fac[55];
int main()
{
// freopen("1.in","r",stdin);
int T; cin>>T;
For(_,1,T)
{
cin>>n>>m>>Mod; m=min(n,m),fac[0]=1;
For(i,1,n) fac[i]=1ll*fac[i-1]*i%Mod;
int ans=1ll*(n-m)*fac[m]%Mod;
ans=(ans+1ll*(n-m)*n*fac[m])%Mod;
ans=(ans-1ll*fac[m]*(n-m-1)%Mod+Mod)%Mod;
ans=(ans-1ll*(n-m)*fac[m]%Mod+Mod)%Mod;
printf("Case #%d: %d\n",_,ans);
}
return 0;
}
这程序好像有点Bug,我给组数据试试?
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 3808kb
input:
4 4 1 998244353 4 2 998244353 4 3 998244353 4 4 998244353
output:
Case #1: 10 Case #2: 14 Case #3: 24 Case #4: 24
result:
ok 4 lines
Test #2:
score: 0
Accepted
time: 3ms
memory: 3724kb
input:
5000 14 37 557911987 7 10 367410643 16 14 367486993 14 13 257679469 40 1 433152019 6 1 151926713 18 10 831429839 45 23 611504891 43 41 442772417 28 29 651920513 50 43 783397267 34 9 584271757 14 40 136299073 35 24 908302831 32 29 939394321 7 19 925472381 47 24 563986517 42 37 820968349 24 8 36281506...
output:
Case #1: 144021228 Case #2: 5040 Case #3: 27680678 Case #4: 82630678 Case #5: 1522 Case #6: 26 Case #7: 497145600 Case #8: 158517076 Case #9: 265540132 Case #10: 174173325 Case #11: 757472701 Case #12: 299738880 Case #13: 83183553 Case #14: 685128802 Case #15: 58404183 Case #16: 5040 Case #17: 19811...
result:
ok 5000 lines