码迷,mamicode.com
首页 > 其他好文 > 详细

[CF Contest] Balanced Array 题解

时间:2020-06-28 12:35:08      阅读:50      评论:0      收藏:0      [点我收藏+]

标签:ace   clu   i++   int   main   iostream   题解   偶数   pac   

这道题可以将前 \(\frac{n}{2}\) 个数的和(即\(2,4,6,8,10...n\))存起来,最后令后\(\frac{n}{2}-1\)个数(即\(1,3,5,7,9...n-3\))的和减去前 \(\frac{n}{2}\) 个数的和,得到第 \(n\) 个数的值。而且另外地,如果\(\frac{n}{2} \bmod 2=1\)直接输出 NO 。

\(Code:\)

#include <iostream>
using namespace std;
int main() {
	int t;
	cin>>t;
	for(int i=1; i<=t; i++) {
		int n;
		cin>>n;
		if((n/2)%2==1) {			//特判
			cout<<"NO"<<endl;
		} else {
			int ans=0,aans=0;
			cout<<"YES"<<endl;
			for(int j=2; j<=n; j+=2) {			//偶数
				cout<<j<<‘ ‘;
				ans+=j;						//累加
			}
			for(int j=1; j<=n; j+=2) {
				if(n<=j+1)
					cout<<ans-aans<<endl;		//第n个数的值
				else {
					cout<<j<<‘ ‘;				//奇数
					aans+=j;
				}
			}
		}
	}
}

[CF Contest] Balanced Array 题解

标签:ace   clu   i++   int   main   iostream   题解   偶数   pac   

原文地址:https://www.cnblogs.com/Inversentropir-36/p/13202041.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!