[创新杯] 七个黑白棋子 跳棋问题 ,怀念实验室里和老师摆弄棋子的校园生活.
来源:互联网 发布:hp128fn网络打印设置 编辑:程序博客网 时间:2024/05/02 02:06
public class T42 {
//用一位数组存储棋盘状态,棋盘左边界LEFT,右边界RIGHT,棋盘中间 位置MID
//棋盘中各有黑子和白字 COUNT个
static final int LEFT=0,RIGHT=6,MID=(LEFT+RIGHT)/2;
static final int COUNT=3;
static int[] s={1,1,1,2,0,0,0};
static String[] name={"白","黑"," "};
//输出棋盘状态
public static void out(int[] s)
{
for(int i=0;i<s.length ;i++)
System.out.print(name[s[i]]);
System.out.println();
}
public static void main(String[] args)
{
int temp;
out(s);
for(int i=MID-1;i>=0;i--)
{
int position=i;
//i位置黑子移动到所有白子右边
for(int j=0;j<COUNT;j++)
{
//position位置黑子与position+1位置空格换位
temp=s[position];s[position]=s[position+1];s[position+1]=temp;
out(s);
//position位置空格与position+2位置白字换位
temp=s[position];s[position]=s[position+2];s[position+2]=temp;
out(s);
position++;
}
//i位置黑子移动到其目标位置
temp=s[position];s[position]=s[position+1];s[position+1]=temp;
out(s);
//如果是最后一个黑子,白子不需要回退
if(i==0) break;
//count个白子退回到右端
for(int j=0;j<COUNT;j++)
{
temp=s[position];s[position]=s[position-1];s[position-1]=temp;
out(s);
position--;
}
}
}
}
- [创新杯] 七个黑白棋子 跳棋问题 ,怀念实验室里和老师摆弄棋子的校园生活.
- [创新杯]呵呵,控制台下的,七个棋子问题
- 黑白棋子的移动
- 黑白棋子的移动
- 黑白棋子的移动
- 黑白棋子的移动
- 黑白棋子的移动
- 黑白棋子的移动——深搜
- 黑白棋子的移动 ssl-1310
- 黑白棋子的移动(normal) 1310
- 黑白棋子的移动(normal) 1310
- 黑白棋子的移动(normal) ssl 1310
- 【递归】洛谷 P1259 黑白棋子的移动
- 黑白染色棋子
- 黑白棋子移动
- 棋子
- 棋子
- 抛玻璃棋子的问题
- [创新杯]貌似是 桶装蜂蜜问题
- java 跟.net webservice 互通问题(2)
- [创新杯] 喝酒的问题?
- 布局NEW操作符
- MyBatis insert 返回主键
- [创新杯] 七个黑白棋子 跳棋问题 ,怀念实验室里和老师摆弄棋子的校园生活.
- [创新杯]分椰子啥的.....
- [创新杯] 好吧,这次是分蜂蜜
- 在SQL Server中的全局变量
- HTML中标签的使用
- [java-io]RandomAccessFile
- PPPoE协议规范
- [创新杯]呵呵,控制台下的,七个棋子问题
- [gui]GridLayout