QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#839342#1089. Biological Software UtilitiesharlemAC ✓3ms3708kbC++201.3kb2025-01-01 17:18:192025-01-01 17:18:19

Judging History

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

  • [2025-01-01 17:18:19]
  • 评测
  • 测评结果:AC
  • 用时:3ms
  • 内存:3708kb
  • [2025-01-01 17:18:19]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef __int128 i128;
typedef double db;
typedef long double ld;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef pair<int,ll> pil;
typedef pair<ll,int> pli;
template <typename Type>
using vec=vector<Type>;
template <typename Type>
using grheap=priority_queue<Type>;
template <typename Type>
using lrheap=priority_queue<Type,vector<Type>,greater<Type> >;
#define fir first
#define sec second
#define pub push_back
#define pob pop_back
#define puf push_front
#define pof pop_front
#define chmax(a,b) a=max(a,b)
#define chmin(a,b) a=min(a,b)
#define rep(i,x,y) for(int i=x;i<=y;i++)
#define per(i,x,y) for(int i=x;i>=y;i--)

const int inf=0x3f3f3f3f;
const ll INF=0x3f3f3f3f3f3f3f3f;
const ll mod=998244353;

const int N=1e6+5;

ll n,ans;

ll qpow(ll a,ll b){
    ll res=1;
    while(b){
        if(b&1)(res*=a)%=mod;
        (a*=a)%=mod;
        b>>=1;
    }
    return res;
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    cin>>n;
    if(n&1){
        cout<<0;
        return 0;
    }
    ans=1;
    for(ll i=n-1;i>0;i-=2)(ans*=i)%=mod;
    if(n>2)(ans*=qpow(n/2,n/2-2))%=mod;
    (ans*=qpow(4,n/2-1))%=mod;
    cout<<ans;
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3680kb

input:

1

output:

0

result:

ok 1 number(s): "0"

Test #2:

score: 0
Accepted
time: 1ms
memory: 3620kb

input:

2

output:

1

result:

ok 1 number(s): "1"

Test #3:

score: 0
Accepted
time: 0ms
memory: 3704kb

input:

3

output:

0

result:

ok 1 number(s): "0"

Test #4:

score: 0
Accepted
time: 0ms
memory: 3700kb

input:

4

output:

12

result:

ok 1 number(s): "12"

Test #5:

score: 0
Accepted
time: 0ms
memory: 3708kb

input:

7788

output:

178152092

result:

ok 1 number(s): "178152092"

Test #6:

score: 0
Accepted
time: 3ms
memory: 3628kb

input:

1000000

output:

178454094

result:

ok 1 number(s): "178454094"

Test #7:

score: 0
Accepted
time: 1ms
memory: 3552kb

input:

12346

output:

751958800

result:

ok 1 number(s): "751958800"

Test #8:

score: 0
Accepted
time: 0ms
memory: 3640kb

input:

999996

output:

690785929

result:

ok 1 number(s): "690785929"

Test #9:

score: 0
Accepted
time: 1ms
memory: 3600kb

input:

6

output:

720

result:

ok 1 number(s): "720"

Test #10:

score: 0
Accepted
time: 1ms
memory: 3636kb

input:

10

output:

30240000

result:

ok 1 number(s): "30240000"

Test #11:

score: 0
Accepted
time: 0ms
memory: 3644kb

input:

99

output:

0

result:

ok 1 number(s): "0"

Test #12:

score: 0
Accepted
time: 1ms
memory: 3648kb

input:

100

output:

934178078

result:

ok 1 number(s): "934178078"

Test #13:

score: 0
Accepted
time: 0ms
memory: 3708kb

input:

20

output:

245111072

result:

ok 1 number(s): "245111072"

Test #14:

score: 0
Accepted
time: 1ms
memory: 3564kb

input:

38745

output:

0

result:

ok 1 number(s): "0"

Test #15:

score: 0
Accepted
time: 1ms
memory: 3556kb

input:

3848

output:

928659530

result:

ok 1 number(s): "928659530"

Test #16:

score: 0
Accepted
time: 0ms
memory: 3644kb

input:

347835

output:

0

result:

ok 1 number(s): "0"

Test #17:

score: 0
Accepted
time: 1ms
memory: 3608kb

input:

234234

output:

745247398

result:

ok 1 number(s): "745247398"

Test #18:

score: 0
Accepted
time: 0ms
memory: 3704kb

input:

12

output:

818069491

result:

ok 1 number(s): "818069491"

Test #19:

score: 0
Accepted
time: 0ms
memory: 3700kb

input:

98

output:

648803799

result:

ok 1 number(s): "648803799"

Test #20:

score: 0
Accepted
time: 0ms
memory: 3564kb

input:

124

output:

159487965

result:

ok 1 number(s): "159487965"

Test #21:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

1024

output:

318674437

result:

ok 1 number(s): "318674437"

Test #22:

score: 0
Accepted
time: 2ms
memory: 3644kb

input:

524288

output:

495260023

result:

ok 1 number(s): "495260023"

Test #23:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

524289

output:

0

result:

ok 1 number(s): "0"

Test #24:

score: 0
Accepted
time: 0ms
memory: 3548kb

input:

999999

output:

0

result:

ok 1 number(s): "0"

Test #25:

score: 0
Accepted
time: 0ms
memory: 3640kb

input:

999997

output:

0

result:

ok 1 number(s): "0"