2019年三峡大学新生编程赛
5.Chocolate
(1)题目内容:
还是小W,他挑选完给小H的完美巧克力之后自己吃完了剩下的巧克力,他发现:
巧克力是世界上最好吃的东西!
所以他火速下单又购买了一批巧克力。
这次的巧克力中有黑白两种巧克力豆,小W仔细观察,认真分析,取出两种巧克力,摆成一排:你看这个巧克力豆又大又圆,多像二进制串啊!
所以他决定用黑白巧克力豆来出这道题。
现在抽象此问题,给定p,q,给出长度为p的二进制串,将此二进制串向后移动一次,共移动q-1次,可以算出p+q-1位的每一位异或值,所谓异或即是
0 ^ 0=0,1 ^ 1=0,0^1=1,即相同取零, 相异取1,当p = 6, q = 3时
101010
101010
101010
11010110
即结果为11010110, 现已知结果, 求初始的二进制串
第一行一个整数T(0<=T<=20)表示有T组样例,之后的T行每一行一个整数n(0<=n<=10e9),表示有n个圆
(2)输入描述
第一行两个正整数
第二行(p + q - 1)位二进制串
数据范围:
0<m<=n<=1000000
1<=n+m-1<=1000000
(3)输出描述
输出长为p的二进制串
(4)输入样例
6 3
11010110
(5)输出样例
101010
(6)限制条件
JAVA 运行时间 2000ms 运行内存 3000kb
C++ 运行时间 1000ms 运行内存 3000kb
(7)程序代码
#include <stdio.h>
char s[2000050];
char a[2000050];
int main() {
int p, q;
scanf_s(