【遞歸】地盤劃分
阿新 • • 發佈:2018-02-13
提交 page 最大的 sample closed code 一個 ++ status
也就是說,取走一個3×3的正方形後,將問題規模變成3×1,然後變成2×1,最後變成1×1。規模每縮小一次,正方形的個數加1。
[提交][狀態][討論版]
題目描述
修羅王和邪狼被關進監獄,該監獄的地下秩序實際被不少暗勢力所把持,這些暗勢力根據其實力不同,劃分出了大大小小的勢力範圍。具體劃分方式是這樣的:監獄是一個給定的矩形,每一個暗勢力的勢力範圍都必須是一個正方形,劃分時,最大的暗勢力盡可能多地從矩形中劃分一塊正方形,接下來,第二大的暗勢力在剩下的矩形中盡可能多的劃分一塊正方形……例如,圖2.1中所示是一個3×4的矩陣,可最少劃分為4個勢力範圍。也就是說,取走一個3×3的正方形後,將問題規模變成3×1,然後變成2×1,最後變成1×1。規模每縮小一次,正方形的個數加1。
輸入
兩個int整數,即長和寬。輸出
正方形個數。樣例輸入
3 4
樣例輸出
4
1 #include <iostream> 2 #include <bits/stdc++.h> 3 using namespace std; 4 5 int main() 6 { 7 int n,m,cnt=1; 8 scanf("%d%d",&n,&m); 9 if(n<m) 10 swap(n,m); 11 while(n^m)View Code12 { 13 cnt++; 14 n-=m; 15 if(n<m) 16 swap(n,m); 17 } 18 cout << cnt << endl; 19 return 0; 20 }
【遞歸】地盤劃分