必威体育Betway必威体育官网
当前位置:首页 > IT技术

棋子移动

时间:2019-07-13 14:40:00来源:IT技术作者:seo实验室小编阅读:79次「手机版」
 

棋子

题目描述

魔法世界的历史上曾经出现过一位赫赫有名的不败战神陈庆之,陈庆之以棋道悟兵法,一生身经数百战,没有一场败绩,而且没有一场不是在绝对的劣势中大胜敌军。

受此影响,魔法世界开始流行一种叫棋子移动的游戏,即有2N个棋子(N≥4)排成一行,开始位置为白子全部在左边,黑子全部在右边,例如当N=4时,棋子排列情况为:

〇〇〇〇●●●●

移动棋子的规则是:每次必须同时移动相邻两个棋子,颜色不限,可以左移也可以右移到空位上去,但不能调换两个棋子的左右位置.每次移动必须跳过若干个棋子(不能平移),要求最后能移成黑白相间的一行棋子。例如当N=4时,最终排列情况为:

〇●〇●〇●〇●

试求出移动步骤。

输入

一个整数,即N。

输出

输出移动步骤,每一步操作占一行。

样例输入

4

样例输出

4,5–>9,10

8,9–>4,5

2,3–>8,9

7,8–>2,3

1,2–>7,8

主要是找规律在这里插入图片描述

#include <iOStream>
#include <stdio.h>
#include <algorithm>
using namespace std;
int fun(int n)
{
	for(int i=n;i>4;i--){
		printf("%d,%d-->%d,%d\n",i,i+1,2*i+1,2*i+2);
		printf("%d,%d-->%d,%d\n",2*i-1,2*i,i,i+1);
	}
	return 0;
}
int main()
{
	int a[5][4]={{4,5,9,10},
				 {8,9,4,5},
	             {2,3,8,9},
	             {7,8,2,3},
				 {1,2,7,8}
				 };
	int n;
	scanf("%d",&n);
	fun(n);
	for(int i=0;i<5;i++)
		printf("%d,%d-->%d,%d\n",a[i][0],a[i][1],a[i][2],a[i][3]);
}

相关阅读

移动互联网“蓝海”场景兴起——社交分享购物

今天,在朋友圈卖东西几乎成了常态。微信在俘获用户,并成为第一大用户平台的过程,就是移动电商崛起的过程。当很多人用闲下来的时间在

【译文】移动应用界面设计7宗罪

规则就是用来打破的?这完全取决于规则本身。在移动应用界面设计(后续简称:移动设计)的世界里,大家对美学、手势和动效的看法略有不同。

windows系统下Shadowsocks代理共享给移动设备的方法

本篇为Windows系统下用电脑把Shadowsocks代理共享给局域网里的其他设备的教程(iPhone为例)。shadowsocks使用教程及账号就在这里不

移动3G开始退网 为5G建设铺路中国联通退网2G

A5创业网(公众号:iadmin5)3月12日报道,目前国内三大运营商都在为5G建设做准备,进行清频、退网。从去年开始中国联通也开始在全国范围内

谷歌推出站点测速工具:检测网页移动设备友好度及加载速

站长之家(ChinaZ.com)6月3日消息,上月Netflix推出一个简洁的测速站点Fast.com后,搜索巨头谷歌也推出了一个测速站点Test My Site,不过

分享到:

栏目导航

推荐阅读

热门阅读