Untitled
unknown
plain_text
2 years ago
1.6 kB
6
Indexable
package Maximum_Score_Queen;
import java.io.FileInputStream;
import java.util.Scanner;
public class Maximum_Score_Queen {
static int [][] map;
static int N = 8;
static int sum;
static int max;
static int[] arr;
static int step;
static int[][] arrHau;
static boolean check(int x, int y) {
for (int i = 0; i < y; i++) {
if (arr[i] == x) return false;
if(arr[i]-x == y- i|| x- arr[i]== y-i) return false;
}
return true;
}
static void sinh(int r) {
if (r == 8) {
for (int i = 0; i < 8; i++) {
arrHau[step][i] = arr[i];
}
step++;
return;
}
for (int i = 0; i < 8; i++) {
if (check (i, r)) {
arr[r] = i;
sinh(r+1);
}
}
}
public static void main(String[] args) throws Exception {
System.setIn(new FileInputStream("D://Trainee//SRV_training//src//Maximum_Score_Queen//queen.txt"));
Scanner sc = new Scanner(System.in);
arr = new int [N];
arrHau = new int [100][N];
sinh(0);
int T = sc.nextInt();
for (int test_case = 1; test_case <= T; test_case++) {
int n = sc.nextInt();
System.out.println("Case #"+test_case );
for (int k = 0; k < n; k++) {
map = new int [N][N];
max = 0;
sum = 0;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
map[i][j] = sc.nextInt();
}
}
int max=0;
for(int h=0;h<step;h++){
int sum=0;
for(int i=0;i<8;i++){
sum+= map[i][arrHau[h][i]];
}
if(sum>max) max=sum;
}
System.out.println(max);
}
}
}
}
Editor is loading...