WA RE 蒟蒻求调
查看原帖
WA RE 蒟蒻求调
602361
114514wxy楼主2023/8/10 20:39
#include<bits/stdc++.h>
using namespace std;
const int N=1002;

char a[N];
int lk,rk,n;
long long cheng1=1,cheng2=1,cheng3=1;

int abss(int x,int y){
	if(x>y) return x-y;
	return y-x;
}

int main(){
	
	cin>>n;
	for(int i=1;i<=n;++i){
		
		cin>>a[i];
		if(a[i]=='(') ++lk;
		if(a[i]==')') ++rk;
	}
	
	int chose=(n-lk-rk-abss(lk,rk))/2,num=n-lk-rk;
	
	if(chose==0||num==0) cheng1=0;
	for(int i=1;i<=num;++i){
		cheng1=cheng1*i;
		if(cheng1>=998244353) cheng1%=998244353;
	}
	for(int i=1;i<=chose;++i){
		cheng2=cheng2*i;
		if(cheng2>=998244353) cheng2%=998244353;
	}
	for(int i=1;i<=num-chose;++i){
		cheng3=cheng2*i;
		if(cheng3>=998244353) cheng3%=998244353;
	}
	
	cheng2=cheng2*cheng3%998244353;
	
	cout<<cheng1/cheng2<<endl;
	
	return 0;
}

subtask1 wa了第一 三个点 剩下的subtask全re 用的是组合数 从num个‘?’中取‘chose’个左/右括号

2023/8/10 20:39
加载中...