vijosp1016 北京2008的掛鐘
【思路】
dfs。
對操作搜尋更加優秀,所以採用搜尋每乙個操作的使用次數,因為運算元為4則相當於沒有操作,所以列舉上限為3。
【**】
1 #include2 #include3 #include4using
namespace
std;56
int op[9][9]=,
7 ,
8 ,
9 ,
10 ,
11 ,
12 ,
13 ,
14 };
15const
int maxn = 10;16
intcnt[maxn],a[maxn],tmp[maxn];
1718
void dfs(int
d) 26
bool f=true;27
for(int i=0;i<9;i++) if(tmp[i])
28if
(f)
34if(d==9) return;35
36for(int i=0;i<4;i++) 40}
4142
intmain()
Vijos P1016北京2008的掛鐘
題意 開9維的bfs,看了別人的優化方法是 用到了優先佇列,因為求的最短的操作路徑,所以用當前的步數作為優先佇列的條件,步數少的優先 include include include include include using namespace std int flag 4 4 4 4 4 4 4 ...
Vijos P1016 鐘錶問題 BFS 剪枝
vijos p1016 九個鐘錶分別有4種狀態 0點,3點,6點,9點。分別用數字表示為 0,1,2,3.9個操作分別操控著一些鐘錶,被操作的鐘錶每次順時針旋轉90 求出最小操作集 1 abde 2 abc 3 bcef 4 adg 5 bdefh 6 cfi 7 degh 8 ghi 9 efhi...
北京2008的掛鐘
題目描述 在2008北京奧運會雄偉的主會場的牆上,掛著如上圖所示的3 3的九個掛鐘 一開始指標即時針指向的位置請根據輸入資料調整 然而此次奧運會給與了大家乙個機會,去用最少的移動操作改變上面的掛鐘的時間全部為12點正 我們只考慮時針 然而每一次操作並不是任意的,我們必須按照下面給出的列表對於掛鐘進行...