日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

习题3-11 Kickdown UVA - 1588

發(fā)布時(shí)間:2024/4/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 习题3-11 Kickdown UVA - 1588 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

不知道是我把題意理解錯(cuò)了還是題目出錯(cuò)了,我覺得,在題目的要求之下,如果能夠反轉(zhuǎn)其中一塊板,那么會(huì)得到更短的長(zhǎng)度。但是測(cè)試數(shù)據(jù)表明不需要反轉(zhuǎn)板。

剛開始寫怎么寫都寫不對(duì),因?yàn)閷?duì)相交部分的考慮不夠細(xì)致,處理的比較粗糙,后來看了網(wǎng)上大佬的代碼,才明白應(yīng)該怎么做才簡(jiǎn)單。只需要比較三個(gè)數(shù)據(jù):字符串1的長(zhǎng)度、字符串2的長(zhǎng)度、當(dāng)前模擬的移動(dòng)字符串的長(zhǎng)度減去當(dāng)前字符串已遍歷過的字符的數(shù)量。取它們中的最小值,作為循環(huán)的邊界,這樣就不會(huì)出界了。

下面是代碼。實(shí)現(xiàn)思路是,固定a字符串,移動(dòng)b字符串;然后固定b字符串,移動(dòng)a字符串。具體題解詳見某大佬blog:https://www.cnblogs.com/luruiyuan/p/5562520.html

#include <bits/stdc++.h> using namespace std; int minlen(string a,string b); int main() {string a,b;while (cin>>a&&!a.empty()) {cin>>b;cout<<min(minlen(a,b),minlen(b,a))<<endl;}return 0; }int minlen(string a,string b) {int alen=(int)a.size(),blen=(int)b.size();int res=alen+blen,smallen=min(alen,blen);for (int i=0;i<alen;i++) {int j,rg=min(smallen,alen-i);for (j=0;j<rg;j++)if (a[i+j]=='2'&&b[j]=='2') break;if (j==rg) res=min(res,alen+blen-rg);}return res; }

轉(zhuǎn)載于:https://www.cnblogs.com/yichuan-sun/p/9677716.html

總結(jié)

以上是生活随笔為你收集整理的习题3-11 Kickdown UVA - 1588的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。