Description

一个1-n1−n的排列满足所有相邻数字奇偶性不同,那么称该排列为奇偶交错排列。

按字典序输出1-n1−n的所有奇偶交错排列。

Input

输入一个整数n( 2 \le n \le 11)n(2≤n≤11)

Output

输出若干行,每行一个排列。相邻数字之间以一个空格分隔,行末无空格。

请严格按照输出格式,输出不规范将直接判成Wrong answer

Sample Input 1

4

Sample Output 1

1 2 3 4
1 4 3 2
2 1 4 3
2 3 4 1
3 2 1 4
3 4 1 2
4 1 2 3
4 3 2 1

代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream> using namespace std;
int n;
int a[15];
int vis[15];
void dfs(int x,int dig)
{
a[dig]=x; if(dig==n-1)
{
for(int t=0;t<n;t++)
{
if(t!=0)
printf(" %d",a[t]);
if(t==0)
printf("%d",a[t]); }
cout<<endl; return ;
}
if(x%2==1)
{
for(int t=1;t<=n;t++)
{
if(t%2==0&&vis[t]==0)
{
vis[t]=1;
dfs(t,dig+1);
vis[t]=0;
}
}
}
if(x%2==0)
{
for(int t=1;t<=n;t++)
{
if(t%2==1&&vis[t]==0)
{
vis[t]=1;
dfs(t,dig+1);
vis[t]=0;
}
}
}
} int main()
{ cin>>n; for(int t=1;t<=n;t++)
{
vis[t]=1;
dfs(t,0);
vis[t]=0;
}
}

最新文章

  1. [linux]如何为Virtualbox虚拟硬盘扩容(转载)
  2. Frost R&amp;D
  3. java提高篇-----详解java的四舍五入与保留位
  4. Mvc controller单元测试 Mock Url对象
  5. C/C++中字符串的输入问题
  6. CentOS配置日志集中管理
  7. 算子:sample(false, 0.1)抽样数据
  8. RVM 安装 Ruby
  9. 微信小程序接入,https服务器搭建和调试
  10. SpringMVC把后台文件打印到前台
  11. python(三)@staticmethod和@classmethod使用和区别
  12. 【python39--面向对象组合】
  13. js 高效拼接字符串
  14. springmvc+mybatis 处理图片(一):上传图片
  15. CF961E Tufurama 主席树
  16. Codeforces 741B Arpa&#39;s weak amphitheater and Mehrdad&#39;s valuable Hoses
  17. poj2993
  18. 安装MySQL的详细步骤
  19. leetcode题解:Construct Binary Tree from Preorder and Inorder Traversal (根据前序和中序遍历构造二叉树)
  20. django1.8.3搭建博客——1

热门文章

  1. 基于:Hadoop 2.6.0-cdh5.4.0 hive1.1.0 HBase 1.0.0-cdh5.4.0 关键配置文件
  2. ubuntu 12.04 下 eclipse关联 source code
  3. 关于fragment生命周期的两张图片
  4. 框架之 hibernate之二
  5. GUI编程01
  6. mac 彻底卸载Paragon NTFS
  7. 使用R语言绘制图表
  8. EZOJ #81
  9. C++的运算符重载 (转)
  10. HTML 4.0 触发事件