package test; import java.util.Scanner; public class 纵横放火柴游戏 { public static void main(String arg[]) { Scanner input = new Scanner(System.in); char[][] arr = new char[3][4]; int n = input.nextInt(); while(n-- != 0) { for(int i = 0;i < 3;i++) { String str = input.next(); arr[i] = str.toCharArray(); } Putmatch(arr); } } //计算最佳放置法,选择第一个空格放置‘-’或‘1’,能放的就输出 private static void Putmatch(char[][] arr) { // TODO Auto-generated method stub for(int i = 0;i < 3;i++) { for(int j = 0;j < 4;j++) { if(arr[i][j] == '0') { arr[i][j] = '-'; if(isOk(arr,i,j)) { System.out.println(i + "" + j + "" + '-'); return; } arr[i][j] = '0'; arr[i][j] = '1'; if(isOk(arr,i,j)) { System.out.println(i + "" + j + "" + '1'); return; } arr[i][j] = '0'; } } } } //判断该放置法是否符合条件,查询当前位置所放的方向上是否有同方向且无阻拦 private static boolean isOk(char[][] arr, int i, int j) { // TODO Auto-generated method stub if(arr[i][j] == '-') { for(int k = j-1;k >= 0;k--) { if(arr[i][k] == '-') { return false; }else if(arr[i][k] == '1') { return true; } } for(int l = j+1;l < 4;l++) { if(arr[i][l] == '-') { return false; }else if(arr[i][l] == '1') { return true; } } }else if(arr[i][j] == '1') { for(int m = i-1;m >=0;m--) { if(arr[m][j] == '1') { return false; }else if(arr[m][j] == '-') { return true; } } for(int n = i+1;n < 3;n++) { if(arr[n][j] == '1') { return false; }else if(arr[n][j] == '-') { return true; } } } return true; } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步