这该死的第九个点
查看原帖
这该死的第九个点
566289
RP_INT_MAX楼主2022/12/22 16:33

一直是第九个点 T,求帮卡常。

#include <cstdio>
#include <cstring>
using namespace std;
int n,t;
int a[10010];
char s[10010];
int main () {
	scanf("%d%d%s",&n,&t,s);
	for(register int i=0;i<n;++i) a[i+1]=s[i]^48;
	int len=1;
	while(len<=n) len<<=1;
	t%=len;
	while(t--) {
		register int i;
		for(i=n;i>11;i-=10) {
			a[i]^=a[i-1];
			a[i-1]^=a[i-2];
			a[i-2]^=a[i-3];
			a[i-3]^=a[i-4];
			a[i-4]^=a[i-5];
			a[i-5]^=a[i-6];
			a[i-6]^=a[i-7];
			a[i-7]^=a[i-8];
			a[i-8]^=a[i-9];
			a[i-9]^=a[i-10];
		}
		while(i>1) a[i]^=a[i-1],--i;
	}
	for(register int i=1;i<=n;++i) printf("%d",a[i]);
	return 0;
}
2022/12/22 16:33
加载中...