求帮助
查看原帖
求帮助
755689
ACtheQ楼主2023/8/20 22:34

赛时写的代码,到现在也调不出来,好心人求帮助。

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		int n,p;
		cin>>n>>p;
		if(p==2)
		{
			for(int i=2;i<=n;i+=2) cout<<i<<" ";
			for(int i=1;i<=n;i+=2) cout<<i<<" ";
			cout<<endl; 
		}
		else if(p==3)
		{
			for(int i=3;i<=n;i+=3) cout<<i<<" ";
			for(int i=1;i<=n;i++)
			{
				if(i%3==0) continue; 
				cout<<i<<" ";
			}
			cout<<endl; 
		}
		else
		{
			if(n==1) 
			{
				cout<<1<<endl;
				return 0;
			}
			for(int i=p;i<=n;i+=p) cout<<i<<" ";
			int nx=n;
			n=n-n%3;
			for(int i=n;i<=nx;i++) 
			{
				if(i%p!=0) cout<<i<<" ";
			}
			for(int i=1;i<=n/2;i++)
			{
				if(i%p==0) continue; 
				if(p-i!=i&&n-i>0&&(n-i)%p!=0) cout<<i<<" "<<n-i<<" ";
				else cout<<i<<" ";
			}
			if(n&1) cout<<n/2+1;
			cout<<endl; 
		}
	}
    return 0;
}

等拿到2、3性质点其他的全wa,else里面的写挂了

2023/8/20 22:34
加载中...