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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[蓝桥杯][算法提高VIP]项链(dfs)

發布時間:2023/12/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [蓝桥杯][算法提高VIP]项链(dfs) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述
由 n(1≤n≤100)  個珠子組成的一個項鏈,珠子有紅、藍、白三種顏色,各種顏色的珠子的安排順序由鍵盤輸入的字符串任意給定。藍色用小寫字母b表示,紅色用小寫字母r表示,  白色用小寫字母w表示.

假定從項鏈的某處將其剪斷,把它擺成一條直線。先從左端向右收集同色珠子,遇到第一個異色珠子時停止.  收集過程中, 白色是一種特殊顏色, 既可以看成紅色也可以看成藍色。然后再從剩余珠子的右端向左重復上述過程。

例如:對下圖一所示的項鏈, 如果從圖一中標記的位置0處剪斷,  則按順時針順序得到wbbbwwrrbwbrrwb(如圖二所示)。這時從左端開始收集可以得到wbbbww,   共6個珠子;然后從剩余珠子右端開始收集得到wb,共2個珠子。這種剪法共可收集到6+2=8個珠子。 如果從圖一中標記的位置4處剪斷,  則按順時針順序得到wwrrbwbrrwbwbbb(如圖二所示)。這時從左端收集可以得到wwrr,共4個珠子; 然后從剩余珠子右端收集可以得到wbwbbb,共6個珠子。這種剪法共可收集到4+6=10個珠子。

要求: 在項鏈中選擇合適的剪斷位置, 使得從左右兩端收集到的珠子數目之和最大,輸出收集到的珠子數的最大值M。

輸入
由小寫字母b,r,w組成的字符串。此字符串記錄了一個首尾相接的項鏈從某處斷開后,按順時針順序得到的珠子的直線排列。
輸出
收集到的珠子數的最大值 M
樣例輸入
wbbbwwrrbwbrrwb
樣例輸出
10
思路:我們對于每一個節點,分別向左向右延伸。這個節點所延伸的長度就是這個節點所能擴展的長度。如果這個節點不是‘W’的話,擴展之后就不用再次擴展了。如果是‘W’的話,就需要再次擴展,因為這次擴展有可能比上一次擴展更優。
代碼如下:

#include<bits/stdc++.h> #define LL long long using namespace std;const int maxx=1e2+100; int l[maxx],r[maxx]; string s;inline int dfs(int ll[],int i,int dir,char c,int num) {if(s[i]!=c&&s[i]!='w'&&c!='w') return 0;if(num>s.length()) return s.length();int sum=1;int ti;if(i+dir==s.length()) ti=0;else if(i+dir<0) ti=s.length()-1;else ti=i+dir;if(c=='w'){if(s[ti]=='w') sum+=dfs(ll,ti,dir,c,num+1);else sum+=dfs(ll,ti,dir,s[ti],num+1);}else sum+=dfs(ll,ti,dir,c,num+1);ll[i]=max(min((int)s.length(),sum),ll[i]);return min(sum,(int)s.length()); } int main() {cin>>s;int len=s.length();memset(l,0,sizeof(l));memset(r,0,sizeof(r));for(int i=0;i<s.length();i++){if(l[i]&&s[i]!='w') continue;dfs(l,i,1,s[i],1);}for(int i=s.length()-1;i>=0;i--){if(r[i]&&s[i]!='w') continue;dfs(r,i,-1,s[i],1);}int _max=0;for(int i=0;i<s.length();i++){_max=max(_max,l[i]+r[i-1<0?s.length()-1:i-1]);}cout<<min(_max,(int)(s.length()))<<endl;//和字符串長度取最小值。return 0; }

努力加油a啊,(o)/~

總結

以上是生活随笔為你收集整理的[蓝桥杯][算法提高VIP]项链(dfs)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产在线拍 | 亚洲高清视频在线 | 自拍偷拍p| 91精品国产欧美一区二区 | 国产理论影院 | 99热在线播放 | 双性皇帝高h喷汁呻吟 | 樱花视频在线免费观看 | 男人操女人动态图 | 欧美精品系列 | 欧美一区二区黄色 | 男人天堂最新网址 | 免费色av | 大尺度一区二区 | 久久综合桃花网 | 国产香蕉一区 | 国产精品自慰网站 | 国模在线观看 | 性欧美8khd高清极品 | 免费看女生裸体视频 | 国产成人综合av | 素人女裸体 | 成人在线播放网站 | 亚洲综合一区二区 | 51成人做爰www免费看网站 | xxav在线 | 亚洲免费黄网 | 亚洲欧美日韩另类 | 国产伦精品一区二区三区高清版禁 | 美女少妇直播 | 亚洲18在线看污www麻豆 | 一本大道一区二区 | 黄色一几片 | 涩五月婷婷 | 久久人人爽| 国产麻豆影视 | 午夜av免费 | 国产精品自产拍高潮在线观看 | 免费观看一区二区三区 | 美女又黄又爽 | 日本三级一区 | 国产精品久久久久久久久免费看 | 天天干夜夜骑 | 色呦呦国产精品 | 亚洲天堂视频在线 | 国产欧美精品一区二区色综合朱莉 | 久久久久久九九九九 | 国产情侣av在线 | 无码人妻aⅴ一区二区三区69岛 | 九九热精品视频在线播放 | 色综合天天色 | 韩国电影大尺度在线观看 | 久久久久久久久久艹 | 特黄视频免费看 | 日韩一区二区三区在线播放 | 午夜视频在线观看视频 | 黑丝袜av | 99精品视频在线看 | 香港三级日本三级 | 福利网址在线 | aaa一区二区三区 | 亚洲天天综合网 | 久久国产精品久久精品国产 | 日韩一区二区三区中文字幕 | 狼人色综合| 奇米精品一区二区三区在线观看 | 欧美视频四区 | 美女福利片| 四虎影院免费视频 | 91成人精品国产刺激国语对白 | 久久精品人妻一区二区 | 国产又大又粗又硬 | 狠狠搞狠狠干 | 欧美成人一区在线观看 | av啊啊| 中国美女囗交视频 | 国产亚洲精品一区二区三区 | 国产伦理吴梦梦伦理 | 国产亚洲欧美精品久久久久久 | 成人网页 | 亚洲综合av一区二区三区 | 国产精品网站视频 | 国产毛片一区二区 | 奇米精品一区二区三区在线观看一 | 精品日韩一区二区三区 | 美女又爽又黄视频毛茸茸 | 美女少妇一区二区 | 欧美精品一区二区三区在线播放 | 无码人妻精品一区二区蜜桃色欲 | 九九视频免费观看 | 亚洲特黄毛片 | 一区二区三区免费在线 | 黄网站在线观看 | 久久久视频在线观看 | 亚洲第七页 | 欧美精品首页 | 手机看片1024欧美 | 法国空姐在线观看完整版 | 93久久精品日日躁夜夜躁欧美 |