連連看是一款非常有意思的遊戲。
我們可以把任意兩個在圖的在邊界上的相同的方格一起消掉,比如把兩個 4
4 消掉以後,
每次消掉兩個方格的時候,都有會獲得乙個分數,第 i
i 次消的分數為 i \timesi×
方格的值。比如上面的消法,是第一次消,獲得的分數為 1 \times 4 = 41×
4=4。
請你幫忙最優操作情況下,獲得的分數最多為多少。
解題思路:用 dfs 求解,每一次搜尋,找到兩個相同的邊界點,標記即可。
檢測邊界點的方法也很簡單,只需要乙個點的四個方向中有乙個點在地圖外或者已經被標記,那麼這個點就是邊界點。
package 連連看;
public class main ,,,};
static int n=4;
static int ants=0;
static boolean used=new boolean[n][n];
public static void main(string args)
public static boolean ok(int x,int y)
public static boolean check(int x,int y),,,};
int nx=0,ny=0;
for(int i=0;i<4;i++)
return false; }
public static void dfs(int step,int s)}}
}}} }}
2018NOIP第五次膜你賽
有 n 個點,我們需要走過這些點僅 1 次,到點 i 時你的身上必須有 a i 的能量。在那之後,你的能量會 1 求你開始時需要的最小能量值。演算法一 二分。演算法二 輸出 max left a i i 1 right input print max i j for i,j in enumerate...
ACM第五次積分賽
做出三道題,第二名,總積分上公升到第八名,繼續加油!sau acm總比賽成績 姓名賬號 上學期成績 第一次成績 第二次成績 第三次成績 第四次成績 第五次成績 總成績張國慶 143401010421 20168.8 69.2 6087.2 91.6 577.8 陳福春springhack 201.5...
第五次模擬測試 2
題目 描述q老師是個很老實的老師,最近在積極準備考研。q老師平時只喜歡用linux系統,所以q老師的電腦上沒什麼娛樂的遊戲,所以q老師平時除了玩linux上的賽車遊戲supertuxkart之外,就是喜歡消消樂了。遊戲在乙個包含有n行m列的棋盤上進行,棋盤的每個格仔都有一種顏色的棋子。當一行或一列上...