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

【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;
}
上一篇:HCIA实验2 远程登录


下一篇:20211005省选组T1 数列(array)