UVa1588 Kickdown 換低擋裝置

2021-08-03 21:51:45 字數 543 閱讀 5255

題目鏈結

題意:給出兩個長度分別為n1,n2(n1,n2≤100)且每列高度只為1或2的長條。需要將它們放入乙個高度為3的容器(如圖所示),問能夠容納它們的最短容器長度。

分析:具體請看**。

1、max(len1,i+len2)中包含的兩種情況。len1長度足夠,另一種len1長度不夠。

2、本來的情況是左右都輪迴一遍,放在**中相當於上下交換且每次只把上部分往右移。

#include#include#includeusing namespace std;

char s1[120],s2[120];

int len1,len2,ans;

void cmp(char s1,char s2)

}if(flag) ans=min(ans,max(len1,i+len2));

}}int main()

return 0;

}

UVa1588 Kickdown 換抵擋裝置

給出兩個長度分別為n1,n2且每列高度只為1或2的長條,需要將它們放入乙個高度為3的容器,求出能夠容納他們的最短容器長度。模擬插入,從第乙個介面開始插,如果不滿足條件就跳到下乙個介面,滿足條件時跳出函式輸出答案即可。includeusing namespace std int slo char a,...

UVA 1588 Kickdown 簡單字串匹配

一道簡單題,想的不到位,做了好久 呵呵一下自己的poor能力 問題出在f函式中注釋部分 想當然認為短的去匹配長的串 然而反例是 長的匹配短的結果是7 短的匹配長得結果是8 注釋掉後就對了 之前主函式中交換是因為考慮到了如下情況 如果不交換輸出6 交換後輸出5 剩下的就是f函式中for的實現了 思路是...

UVa 1588 換抵擋裝置

題目大意是說,兩個槽能夠插在一起,並保證每一列的高度不高於3,保證最短長度。思路很簡單,取短字串遍歷長字串的每乙個位置,紀錄下位置,並取最短即可。習題3 11 換抵擋裝置 void caculate17 else int minlen int strlen min arr int maxlen in...