其他分享
首页 > 其他分享> > 【10.6 牛客提高(二)】 【结论题】 串串串

【10.6 牛客提高(二)】 【结论题】 串串串

作者:互联网

【10.6 牛客提高(二)】 【结论题】 串串串

题目

在这里插入图片描述
在这里插入图片描述


解题思路

先举个栗子
10110
10011
可以先统计1的个数,发现都是奇数,那么加起来则为偶数
如果有1的数位相同,那么会同时消掉偶数个1,那么最后不一样的数位奇偶性为0
最后总结一下发现就是,如果1的个数和是偶,那么答案是0,否则为1


代码

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int n,m,q,l1,r1,l2,r2,a[200010],b[200010];
string x,y;
int main()
{
	scanf("%d%d",&n,&m);
    cin>>x>>y;
    for (int i=1;i<=n;i++)
        a[i]=a[i-1]+x[i-1]-48;
    for (int i=1;i<=m;i++)
        b[i]=b[i-1]+y[i-1]-48;
    scanf("%d",&q);
    for (int i=1;i<=q;i++)
    {
    	scanf("%d%d%d%d",&l1,&r1,&l2,&r2);
    	int xx=a[r1]-a[l1-1],yy=b[r2]-b[l2-1]; 
    	printf("%d\n",abs(xx-yy)%2);
	}
	return 0;
}

标签:串串,r2,10.6,int,d%,牛客,l2,include,r1
来源: https://blog.csdn.net/qq_45621109/article/details/120636605