先放偶数,再放奇数。这样每个点的父亲基本都是偶数,所以乘起来一定是偶数。

void solve(){
    int n;cin>>n;
    vi a(n+1);
    int x=2;
    for(int i=1;i<=n/2;++i){
        a[i]=x;
        x+=2;
    }
    if(n%2){
        x=n;
    }else{
        x=n-1;
    }
    for(int i=n/2+1;i<=n;++i){
        a[i]=x;
        x-=2;
    }
    for(int i=1;i<=n;++i){
        cout<<a[i]<<" ";
    }
    cout<<endl;
}