題目思路請把一段紙豎著放在桌子上,然後從紙條的下邊向上方對折1次,壓出摺痕後展開。此時摺痕是凹下去的,即摺痕突起的方向指向紙條的背面。如果從紙條的下邊向上方連續對折兩次,壓出摺痕後展開,此時有三條摺痕,從上到下依次是下摺痕、下摺痕和上摺痕。給定乙個輸入引數n,代表紙條都從下邊向上方連續對折n次,請從上到下列印所有摺痕的方向。
產生第i+1次摺痕的過程,就是在對折i次產生的每一條摺痕的左右兩側,依次插入下摺痕和上摺痕的過程。
所有摺痕的結構是一棵滿二叉樹,在這棵滿二叉樹中,頭節點為下摺痕,每一棵左子樹的頭節點為下摺痕,每一棵右子樹的頭節點為上摺痕。
從上到下列印所有摺痕方向的過程,就是二叉樹的先左、再中、最後右的中序遍歷。
**實現
public
class
printallfolds
//類似中序遍歷
public
void
printprocess
(int i,
int n,
boolean down)
printprocess
(i +
1, n,
true);
system.out.
println
(down ?
"down"
:"up");
printprocess
(i +
1, n,
false);
}public
static
void
main
(string[
] args)
}
基礎17 摺紙問題
17 摺紙問題 問題描述 已知有一張紙,其厚度為1厘公尺。現在給你一座山的高度n 單位 公尺 問將紙對折多少次後,其厚度將超過這座山的高度?輸入說明 你的程式需要從標準輸入裝置 通常為鍵盤 中讀入多組測試資料。每組輸入資料由一行組成,每行為乙個正整數n,n小於等於珠穆朗瑪峰的高度。輸出說明 對每組測...
YbtOJ 526 摺紙遊戲
不難發現行和列是獨立的,也就是其實我們把行和列的摺紙順序任意交換都是可以的。那麼乙個矩形可以被摺出的充要條件是它四條邊分別所在的行或列都可以通過若干次摺疊得到。比方說矩形左邊那列假設是第 i 列,那麼只有 1 sim i 的紙都可以折到右邊去這個矩形才可能被摺出。手畫一下不難證明一些細節。由於並不好...
嵊州D5T2 摺紙 folding
問題描述 在非常緊張的 noip 考試中,有人喜歡啃指甲,有人喜歡轉鉛筆,有人喜歡撕 紙條,而小 x 喜歡迷摺紙。現有乙個 w h 的矩形紙張,監考老師想知道,小 x 至少要折多少次才能使 矩形紙張變成 w h 的矩形紙張。注意,每次的摺痕都要平行於紙張的某一條邊。輸入格式 第一行包括兩個整數 w,...