時間限制:3000 ms | 記憶體限制:65535 kb
難度:2
描述漢諾塔問題是乙個經典的問題,現在我們有 n 個柱子和 m 個編號(1~m)的球,我們現在要求把盡量多的球放在盡量少的柱子上,如果相鄰兩個球的和不是完全平方數的話球會相互排斥而無法接觸。(注意:球必須從小到大放,每次只能放在其他球的上面或者乙個新的柱子上面)
輸入首先乙個t,表示t組測試資料,然後乙個n(1<=n<=50).
輸出輸出一行,表示n個柱子能放的最大的球編號。
樣例輸入
1樣例輸出4
11題解:暴力
**:
#include#include#include#include#include#includeusing namespace std;const int inf=0x3f3f3f3f;
#define mem(x,y) memset(x,y,sizeof(x))
#define si(x) scanf("%d",&x)
#define sl(x) scanf("%lld",&x)
#define pi(x) printf("%d",x)
#define pl(x) printf("%lld",x)
#define p_ printf(" ")
#define t_t while(t--)
const int maxn=2010;
bool c[maxn];
int t;
int main(){
si(t);
int n;
t_t{
si(n);
mem(c,false);
int cur;
setst;
for(int i=1;i<=100;i++)st.insert(i*i);
int cnt=n+1;
int ans;
for(int i=1;i
四柱漢諾塔
多柱漢諾塔的解析 題目鏈結 分析 現在有四根柱子a b c d,我們假設盤子從a移動到d,先把a的n個盤子拿出r個借助其他兩個柱子放到b上這是f n r 接著這個柱子就先不動,然後開始動a上剩下的r個盤子,現在b已經不能放這r個,我們只能通過c柱子把r個移動到d上去。這裡只用到了c柱子和目標柱子,所...
四盤漢諾塔
在傳統的漢諾塔遊戲中多加了乙個盤子。問把n層的漢諾塔從第乙個盤子移到第四個盤子需要多少步?要將n層從1號盤移動到3號盤,需要分為三步 1 把n 1層從1號移動到2號 n層要移動到3號,為了不影響n層的移動只能移動到2號 2 把n層從1移動到3號 3 把n 1層從2號移到3號 把第乙個步驟又能細分成類...
python 漢諾塔 Python漢諾塔
import turtle class stack def init self self.items def isempty self return len self.items 0 def push self,item def pop self return self.items.pop def ...