翻硬币
题目描述
有 n 个硬币( 6 = < n <=3000 ),其中有m(0<=m<=n)个正面朝上,每次将 k (0 < k <=n)个硬币翻过来放在原来位置,直到 最后全部硬币翻成反面朝上为止。编程让计算机 找到步数最少的翻法,并把翻币次数打印 出来。
输入
一行,n,m,k的值
输出
一行,输出最小步数 ,如果无法达到目标,则输出”No solution!”
样例输入
6 6 5
样例输出
6
题目解读
这道题一看也是个bfs
具体的,每次饭碗影壁为一个状态,然后照着板子敲就行了
对了对了,别忘了还有一个情况叫做No Solution!
我第一次就忘了
code
#include <bits/stdc++.h>