[Java] 藍橋杯ADV-203 演算法提高 8皇后·改
問題描述
規則同8皇后問題,但是棋盤上每格都有一個數字,要求八皇后所在格子數字之和最大。
輸入格式
一個8*8的棋盤。
輸出格式
所能得到的最大數字和
樣例輸入
1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32
33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48
48 50 51 52 53 54 55 56
57 58 59 60 61 62 63 64
樣例輸出
260
資料規模和約定
棋盤上的數字範圍0~99
package adv203;
import java.util.Scanner;
public class Main {
private static int[][] cheese = new int[8][8];
private static int[] pos = new int[8];
private static int maxValue = 0;
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
cheese[i][j] = in.nextInt();
}
}
in.close();
dfs(0, 0);
System.out.println(maxValue);
}
private static boolean isOk(int row) {
for (int i = 0; i < row; i++) { if (pos[row] == pos[i] || row - i == Math.abs(pos[row] - pos[i])) { return false; } } return true; } private static void dfs(int row, int maxTempValue) { if (row >= 8) {
maxValue = Integer.max(maxValue, maxTempValue);
return;
}
for (pos[row] = 0; pos[row] < 8; pos[row]++) {
if (isOk(row)) {
dfs(row + 1, maxTempValue + cheese[row][pos[row]]);
}
}
}
}
相關文章
- 藍橋杯-N皇后
- 藍橋杯演算法提高——字串匹配(Java)演算法字串匹配Java
- 藍橋杯 演算法提高 字串壓縮演算法字串
- Java實現 藍橋杯 演算法提高 八數碼(BFS)Java演算法
- [藍橋杯][演算法提高VIP]尤拉函式演算法函式
- [藍橋杯][演算法提高VIP]超級瑪麗演算法
- [藍橋杯][演算法提高VIP]大數加法演算法
- [藍橋杯][演算法提高VIP]奪寶奇兵 dp演算法
- 藍橋杯 演算法提高 P0102(Java解題)演算法Java
- 藍橋杯 -- 演算法提高 身份證號碼升級演算法
- [藍橋杯][演算法提高VIP]分蘋果 線段樹演算法蘋果
- 藍橋杯 演算法提高 拿糖果(完全揹包dp)演算法
- [Java] 藍橋杯ADV-213 演算法提高 3-2求存款Java演算法
- 藍橋杯 (java)演算法訓練 數對Java演算法
- [Java] 藍橋杯ADV-185 演算法提高 五次方數Java演算法
- [Java] 藍橋杯ADV-147 演算法提高 學霸的迷宮Java演算法
- 藍橋杯—演算法訓練演算法
- 藍橋杯--演算法訓練演算法
- 題目 1501: [藍橋杯][演算法提高VIP]分蘋果演算法蘋果
- [Java] 藍橋杯ADV-194 演算法提高 盾神與積木遊戲Java演算法遊戲
- [Java] 藍橋杯ADV-202 演算法提高 最長公共子序列Java演算法
- [Java] 藍橋杯ADV-209 演算法提高 c++_ch02_04Java演算法C++
- [Java] 藍橋杯ADV-210 演算法提高 2-1螢幕列印Java演算法
- 藍橋杯 排序排序
- 藍橋杯 演算法訓練 素因子去重(Java)演算法Java
- 藍橋杯 分巧克力(Java)Java
- [藍橋杯][演算法提高VIP]最大乘積 貪心 雙指標演算法指標
- 藍橋杯_演算法提高_身份證升級(簡單字元處理)演算法字元
- 2016藍橋杯演算法提高——身份證號碼升級演算法
- 藍橋杯 演算法訓練 K好數(Java解題)演算法Java
- 藍橋杯 (java) 第39級階梯Java
- Java藍橋杯14年第五題Java
- 藍橋杯——Java基礎(進位制)Java
- 藍橋杯之特殊迴文數JAVAJava
- 藍橋杯真題
- [Java] 藍橋杯ALGO-117 演算法訓練 友好數JavaGo演算法
- 演算法訓練 字首表示式 (藍橋杯)演算法
- 閒聊藍橋杯JAVA - 生成迴文數Java