纯找规律WA代码求调(玄关)
查看原帖
纯找规律WA代码求调(玄关)
812605
zhuang120608楼主2025/1/14 19:51
#include<bits/stdc++.h>
using namespace std;
long long t,n,x,k,p[200024],q[200024];//p构造数组 q输出数组
int main()
{
	cin>>t;
	while(t--)
	{
		cin>>n>>x>>k;
		int r=k/n%2;
		k%=n;
		for(int i=0;i<n;i++)//构造p
		{
			if(i<n/2)
			{
				p[i]=n/2-i+x;
			}
			else if(i==n/2&&x)
			{
				p[i]=1;
			}
			else
			{
				p[i]=1+i;
			}
			//cout<<p[i];
		}
		//cout<<endl;
		for(int i=0;i<n;i++)//构造q
		{
			if(i<n/2)
			{
				q[i]=p[n/2-i+(k-1+x)/2-(!k)];
			}
			else if(i==n/2)
			{
				q[i]=n/2+1+(k+1+x)/2;
				if((k%2+x)%2)
				{
					q[i]-=k+1;
				}
			}
			else
			{
				q[i]=p[(i+(k+x)/2)%n];
			}
		}
		if(r)
		{
			for(int i=n-1;i>=0;i--)
			{
				cout<<q[i]<<" ";
			}
		}
		else
		{
			for(int i=0;i<n;i++)
			{
				cout<<q[i]<<" ";
			}
		}
		cout<<endl;
	}
	return 0;
}
2025/1/14 19:51
加载中...