思路:一开始想复杂了,直接搞的图论,TLE了。后来发现其实可以直接构造。前四个我们可以构造出2 3 1 4 的形式,如果n>=4的话,那么可以左右来回放置,这样就可以构造成功。只有n<=3的时候才不能构造成功。 努力加油a啊,(o)/~
代码如下:#include<bits/stdc++.h> using namespace std; int n; inline string fcs(int i) { string tt=""; while(i) { tt=(char)(i%10+'0')+tt; i/=10; } tt+=" "; return tt; } int main() { int T; cin >> T; while (T--) { int n; cin >> n; if (n <= 3) puts("-1"); else if (n == 4) puts("2 4 1 3"); else { string ans; ans+="2 4 1 3 "; int flag=1; for(int i=5;i<=n;i++) { if(flag) ans+=fcs(i); else ans=fcs(i)+ans; flag^=1; } cout<<ans<<endl; } } return 0; }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算