萌新求助
查看原帖
萌新求助
497056
chun_71楼主2022/10/7 20:50

真不知道哪错了

#include<iostream>
using namespace std;

int n,a,b;

int main(){
	cin>>n>>a>>b;
	if((n%a==0||n%b==0||(n%a)%b==0||(n%b)%a==0)&&(a<=n||b<=n)){
		int now=1,s,t;
		if(n%a==0){
			s=n/a;
			while(s--){
				for(int i=now;i<=now+a-1&&i<=n;++i){
					if(i==now+a-1)cout<<now<<" ";
					else cout<<i+1<<" ";
				}
				now+=a;
			}
		}
		else if(n%b==0){
			t=n/b;
			while(t--){
				for(int i=now;i<=now+b-1&&i<=n;++i){
					if(i==now+b-1)cout<<now<<" ";
					else cout<<i+1<<" ";
				}
				now+=b;
			}
		}
		else if((n%a)%b==0){
			s=n/a,t=(n%a)/b;
			while(s--){
				for(int i=now;i<=now+a-1&&i<=n;++i){
					if(i==now+a-1)cout<<now<<" ";
					else cout<<i+1<<" ";
				}
				now+=a;
			}
			while(t--){
				for(int i=now;i<=now+b-1&&i<=n;++i){
					if(i==now+b-1)cout<<now<<" ";
					else cout<<i+1<<" ";
				}
				now+=b;
			}
		}
		else if((n%b)%a==0){
			t=n/b,s=(n%b)/a;
			while(t--){
				for(int i=now;i<=now+b-1&&i<=n;++i){
					if(i==now+b-1)cout<<now<<" ";
					else cout<<i+1<<" ";
				}
				now+=b;
			}
			while(s--){
				for(int i=now;i<=now+a-1&&i<=n;++i){
					if(i==now+a-1)cout<<now<<" ";
					else cout<<i+1<<" ";
				}
				now+=a;
			}
		}
		else cout<<"-1";
	}
	else cout<<"-1";
}
2022/10/7 20:50
加载中...