灵异事件求助
  • 板块学术版
  • 楼主无名之雾
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/5/2 23:18
  • 上次更新2024/5/2 23:20:13
查看原帖
灵异事件求助
704275
无名之雾楼主2024/5/2 23:18

cnt[0]莫名其妙被赋值为3? 不清楚为什么?

代码

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e5+5;
inline int read(){
   int s=0,w=1;
   char ch=getchar();
   while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
   while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
   return s*w;
}
int num[1],cnt[1];
signed main(){
	int t=read();
	while(t--){
		num[0]=0,num[1]=0,cnt[0]=0,cnt[1]=0;
		int n=read(),m=read();
		string a,b;
		cin>>a>>b;
		for(int i=0;i<m;i++){
			num[b[i]-'0']++;
		}
		//cnt[0]=0,cnt[1]=0;
		cout<<cnt[0]<<"\n";
		//cout<<num[1]<<" "<<num[0]<<"\n";
		//cout<<cnt[0]<<" "<<cnt[1]<<"\n";
		bool flag=1;
		int ans=0;
		for(int i=0;i<n;i++){
			cnt[a[i]-'0']++,ans++;
			cout<<cnt[a[i]-'0']<<" "<<ans<<"\n";
			if(cnt[a[i]-'0']>num[a[i]-'0']){
				cout<<ans-1<<"\n";
				flag=0;
				break;
			} 
		} 
		if(flag)cout<<n<<"\n";
	}
	return 0;
}

2024/5/2 23:18
加载中...