【qduoj - 夏季学期创新题】矩形剖分(递归,dp)
生活随笔
收集整理的這篇文章主要介紹了
【qduoj - 夏季学期创新题】矩形剖分(递归,dp)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題干:
描述
?
對一個給定的矩形,將其劃分成盡可能少的正方形,輸出正方形的最少個數。例如,如下圖所示的情況,則輸入為3和4,輸出為4。
輸入
?
輸入兩個整數中間用空格分開。
輸出
?
輸出最少分割成的正方形的個數。
輸入樣例 1?
3 4輸出樣例 1
4解題報告:
? ?簡單遞歸。? 這題如果是t組數據的話,這個f函數就可以寫記憶化了。。。但是這個題就沒必要了,因為狀態轉移之間沒有重疊子問題,所以不需要dp。
AC代碼:
#include<bits/stdc++.h>using namespace std; int f(int x,int y) {if(x == y) return 1;if(x > y) {return f(x-y,y) + 1;}else return f(y-x,x) + 1; } int main() {int n,m;while(cin>>n>>m) {cout << f(n,m)<<endl;}return 0;}?
總結
以上是生活随笔為你收集整理的【qduoj - 夏季学期创新题】矩形剖分(递归,dp)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 刘德华新片《潜行》开拍:主演阵容超豪华
- 下一篇: 【HDU - 2516 】取石子游戏 (