社区讨论

这什么离谱BUG

P12723 [KOI 2021 Round 2] 括号值比较参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mc0m3l6a
此快照首次捕获于
2025/06/17 22:21
9 个月前
此快照最后确认于
2025/06/18 22:21
9 个月前
查看原帖
不是我修改了好几遍一直在错,下载了一个数据点发现我的输出和样例输出一样,有没有大佬指导一下谢谢。
CPP
#include<bits/stdc++.h>
using namespace std;
const int N=1500001;
int T,x[1500001],y[1500001],l1,l2,l;
string s1,s2;
void dfs(string s,int f[]){
	int cnt=1;
	for(int i=0;i<s.size();i++){
		if(s[i]=='(') cnt++;
		else{
			cnt--;
			if(s[i-1]=='('){
				int k=cnt;
				f[k]++;
				while(f[k]>=2){
					f[k]=0;
					f[k+1]++;
				}
			}
		}
	}
}
int cmp(int a[],int b[]){
	for(int i=N;i>=1;i--){
		if(a[i]>b[i]) return 2;
		if(a[i]<b[i]) return 0;
	}
	return 1;
}
int main(){
	scanf("%d",&T);
	while(T--){
		memset(x,0,sizeof(x));
		memset(y,0,sizeof(y));
		l1=0,l2=0,l=1;
		cin>>s1>>s2;
		dfs(s1,x);
		dfs(s2,y);
		int pd=cmp(x,y);
		if(pd==0) printf("<\n");
		if(pd==1) printf("=\n");
		if(pd==2) printf(">\n");
	}
	return 0;
}
解决必关

回复

0 条回复,欢迎继续交流。

正在加载回复...