NKOJ3751 掃雷遊戲

2022-08-12 16:00:21 字數 767 閱讀 5984

問題描述

有一款有趣的手機遊戲。棋盤上有n顆地雷,玩家需要至少掃掉其中的k顆雷。

每一步,玩家可以用手指在手機螢幕上劃一條直線,該直線經過的地雷都會被掃除掉。

問,最少需要劃幾次就能掃除k顆以上的地雷?

輸入格式

有兩組測試資料,對於每組資料:

第一行,乙個整數n,表示地雷的總數

第二含,乙個整數k,表示至少需要掃掉的雷數

接下來n行,每行兩個整數x和y,表示一顆地雷的座標。

輸出格式

兩行,每行乙個整數,表示對應資料的答案

樣例輸入4 4

1 11 2

2 12 29 7

1 12 2

1 33 1

3 34 1

4 24 3

4 5樣例輸出22

提示對於30%的資料, 1<=n<=8 ,  1<=k<=n , -10000<=x,y<=10000

對於100%的資料,1<=n<=16 , 1<=k<=n , -10000<=x,y<=10000

【題目分析】

觀察題目,n最大為16,兩點確定一條直線,最多可畫出162條直線。

我們暴力列舉所有直線,統計出每條直線穿過的點數。

每條直線最多穿過16個點,我們用二進位制來實現狀態壓縮。

我們把n個點編號0到n - 1,用line[i][j]記錄編號i和j的點對應直線穿過的節點集合。

用結構體存下每乙個點的座標, 

for(

叉乘−揹包dp

【傳送門】

小遊戲 掃雷

c語言實現的乙個簡單的掃雷遊戲 介面簡單,功能 首次踩雷的,會換雷。掃雷有九宮格擴撒 環境 vs2015 如下 game.h pragma once ifndef game h define game h define rows 11 define cols 11 define num 9 incl...

小遊戲 掃雷

實現乙個掃雷遊戲 1.設定兩個陣列 mine row col 表示布雷,show row col 顯示掃雷情況 顯示周圍有幾個雷 因為統計四周,邊緣位置不好實現,所以把二維陣列的行和列都加二,這樣無論是否在邊緣都可以當做一種情況來實現。2.初始化mine和show,show mine 0 3.set...

掃雷小遊戲

game.h 標頭檔案 ifndef game h define game h include include include include define row 12 define col 12 define count 10 棋盤中雷的總數 extern char show mine row ...