/*如下的10个格子 +--+--+--+ | | | | +--+--+--+--+ | | | | | +--+--+--+--+ | | | | +--+--+--+ 填入0~9的数字。要求:连续的两个数字不能相邻。 (左右、上下、对角都算相邻) 一共有多少种可能的填数方案? 请填写表示方案数目的整数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 1580*/ package test; public class 方格填数 { static int count = 0; static void swap(char array[], int a, int b) { char temp = array[a]; array[a] = array[b]; array[b] = temp; } static boolean check(char [] str) { if(check2(str[0], str[1]) && check2(str[0], str[3]) && check2(str[0], str[4]) && check2(str[0], str[5]) && check2(str[1], str[2]) && check2(str[1], str[4]) && check2(str[1], str[5]) && check2(str[1], str[6]) && check2(str[2], str[5]) && check2(str[2], str[6]) && check2(str[3], str[4]) && check2(str[3], str[7]) && check2(str[3], str[8]) && check2(str[4], str[5]) && check2(str[4], str[7]) && check2(str[4], str[8]) && check2(str[4], str[9]) && check2(str[5], str[6]) && check2(str[5], str[8]) && check2(str[5], str[9]) && check2(str[6], str[9]) && check2(str[7], str[8]) && check2(str[8], str[9])) return true; return false; } static boolean check2(char c, char d) { // TODO Auto-generated method stub if(c == (d+1) || c == (d-1)) return false; return true; } static void permutation(char[] str, int a, int length){ if(a == length){ if(check(str)){ //检查是否有相邻的连续数字 count++; System.out.println(String.valueOf(str)); } }else{ for(int i = a; i <= length; ++i){ swap(str, i, a); permutation(str, a + 1, length); swap(str, a, i); } } } public static void main(String[] args) { char[] str = "0123456789".toCharArray(); permutation(str, 0, 9); System.out.println(count); } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· 开箱你的 AI 语音女友「GitHub 热点速览」
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(二):用.NET IoT库
· 几个自学项目的通病,别因为它们浪费了时间!
· C#钩子(Hook) 捕获键盘鼠标所有事件 - 5分钟没有操作,自动关闭 Form 窗体
· 特斯拉CEO埃隆.马斯克的五步工作法,怎么提高工程效率加速产品开发?