標籤:style blog color ar for 資料 2014 div sp
一個10*10的矩陣(可以理解為棋盤),隨時產生一組資料填入矩陣,任何一個位置的數字除4進行計算,按餘數著色,餘數為0著色為red,1為blue,2為green,3為black,可以理解為產生4中顏色的棋子放入棋盤,如果存在其中同色五星連珠的情況(規則通五子棋),找出任意一組,輸出5個棋子的位置下標值。
只是用最笨的方法實現一下:
public class FiveColor { public void test(){ int a[][]=new int[10][10]; for(int i=0;i<10;i++) for(int j=0;j<10;j++) a[i][j]=(int)((Math.random())*4); System.out.println("初始化填充數組:"); for(int i=0;i<10;i++) { for(int j=0;j<10;j++) System.out.print(a[i][j]+" "); System.out.print("\n"); } for(int i=0;i<10;i++) for(int j=0;j<10;j++){ if(j+4<10&&a[i][j]==a[i][j+1]&&a[i][j]==a[i][j+2]&&a[i][j]==a[i][j+3]&&a[i][j]==a[i][j+4]) { System.out.println("橫向五子:"); System.out.print("["+i+"]["+j+"] "); System.out.print("["+i+"]["+(j+1)+"] "); System.out.print("["+i+"]["+(j+2)+"] "); System.out.print("["+i+"]["+(j+3)+"] "); System.out.print("["+i+"]["+(j+4)+"] \n"); } if(i+4<10&&a[i][j]==a[i+1][j]&&a[i][j]==a[i+2][j]&&a[i][j]==a[i+3][j]&&a[i+4][j]==a[i][j]) { System.out.println("縱向五子:"); System.out.print("["+i+"]["+j+"] "); System.out.print("["+(i+1)+"]["+j+"] "); System.out.print("["+(i+2)+"]["+j+"] "); System.out.print("["+(i+3)+"]["+j+"] "); System.out.print("["+(i+4)+"]["+j+"] \n"); } if(i-4>-1&&j+4<10&&a[i][j]==a[i-1][j+1]&&a[i][j]==a[i-2][j+2]&&a[i][j]==a[i-3][j+3]&&a[i-4][j+4]==a[i][j]) { System.out.println("正斜五子:"); System.out.print("["+i+"]["+j+"] "); System.out.print("["+(i-1)+"]["+(j+1)+"] "); System.out.print("["+(i-2)+"]["+(j+2)+"] "); System.out.print("["+(i-3)+"]["+(j+3)+"] "); System.out.print("["+(i-4)+"]["+(j+4)+"] \n"); } if(i+4<10&&j+4<10&&a[i][j]==a[i+1][j+1]&&a[i][j]==a[i+2][j+2]&&a[i][j]==a[i+3][j+3]&&a[i+4][j+4]==a[i][j]) { System.out.println("反斜五子:"); System.out.print("["+i+"]["+j+"] "); System.out.print("["+(i+1)+"]["+(j+1)+"] "); System.out.print("["+(i+2)+"]["+(j+2)+"] "); System.out.print("["+(i+3)+"]["+(j+3)+"] "); System.out.print("["+(i+4)+"]["+(j+4)+"] \n"); } } } public static void main(String[] args) { FiveColor fc=new FiveColor(); fc.test(); }}
2014年去哪兒網筆試題--一個10*10的矩陣(可以理解為棋盤),隨時產生一組資料填入矩陣,任何一個位置的數字除4進行計算,按餘數著色...