昨天比赛Round2的第二题
  • 板块题目总版
  • 楼主Novice233
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/10/17 08:41
  • 上次更新2023/11/4 03:33:09
查看原帖
昨天比赛Round2的第二题
133206
Novice233楼主2021/10/17 08:41
#include<bits/stdc++.h>
using namespace std;
long long n,d;
int main(){
	cin>>n>>d;
	if(n==1) cout<<-1;
	else if(n/2==(n+1)/2){
		if(d>=n/2&&d<=(3*n-2)/2){
			for(int i=1;i<=n/2;i++) cout<<i*2-1<<" ";
			for(int i=n/2+1;i<=n;i++) cout<<(i-n/2)*2<<" ";
			for(int i=n+1;i<=3*n/2;i++) cout<<(i-n)*2<<" ";
			for(int i=3*n/2+1;i<=2*n;i++) cout<<(i-3*n/2)*2-1<<" ";
		} 
		else cout<<-1;
		return 0; 
	}
	else if(n/2==(n-1)/2){
		if(d>=(n-1)/2&&d<=(3*n-3)/2){
			for(int i=1;i<=n/2+1;i++) cout<<i*2-1<<" ";
			for(int i=n/2+2;i<=n;i++) cout<<(i-n/2-1)*2<<" ";
			for(int i=n+1;i<=3*n/2;i++) cout<<(i-n)*2<<" ";
			for(int i=3*n/2+1;i<=2*n;i++) cout<<(i-3*n/2)*2-1<<" ";
		}
		else cout<<-1;
		return 0; 
	}
	else cout<<-1;
	return 0;
} 

我在草稿纸上算了几遍 没发现我的数学推导有问题啊...

有没有大佬能帮忙解答一下 谢谢

分数24/100 Subtask2全过

2021/10/17 08:41
加载中...