发现n>=3一定有解,前三个构造 3 2 1 即可。
#include<bits/stdc++.h> #define int long long #define double long double #define x first #define y second using namespace std; typedef long long LL; typedef long long ll; typedef pair<int,int> PII; const int N=3e5+10; const int M=1e3+10; int mod=1e9+7; int a[N]; void solve(){ int n;cin>>n; if(n==1||n==2) cout<<"-1\n"; else{ cout<<"3 2 1 "; // cout<<n<<" "; for(int i=4;i<=n;i++) cout<<i<<" "; // cout<<1<<"\n"; } } signed main(){ ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); int _; _=1; //cin>>_; while(_--){ solve(); } }