题解 | 构造数列

构造数列

https://www.nowcoder.com/practice/392c2659f7c34cebb37b921342dd39ea

#include <iostream>
using namespace std;

int main() {
    int t;
    cin>>t;
    while(t--){
        ios::sync_with_stdio(false);
        cin.tie(nullptr);

        int n;
        bool sign=false;
        cin>>n;
        if(n%4!=0)cout<<"NO"<<endl;
        else {
            cout<<"YES"<<endl;
            int sum_ou=0,sum_ji=0,cout1=0,cout2=0;
            for(int i=1;i<=n/2;i++){
                cout<<i*2<<" ";
                sum_ou+=i*2;
                cout1++;
            }
            for(int i=1;cout2<cout1-1;i+=2){
                sum_ji+=i;
                if(sign)cout<<" ";
                cout<<i;
                cout2++;
                sign=true;
            }
            int temp=sum_ou-sum_ji;
            cout<<" "<<temp<<endl;
        }
    }
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务