NewCode----彩色寶石項鏈

題目描述:

有一條彩色寶石項鏈,是由很多種不同的寶石組成的,包括紅寶石,藍寶石,鉆石,翡翠,珍珠等。有一天國王把項鏈賞賜給了一個學者,并跟他說,你可以帶走這條項鏈,但是王后很喜歡紅寶石,藍寶石,紫水晶,翡翠和鉆石這五種,我要你從項鏈中截取連續的一小段還給我,這一段中必須包含所有的這五種寶石,剩下的部分你可以帶走。如果無法找到則一個也無法帶走。請幫助學者找出如何切分項鏈才能夠拿到最多的寶石。

輸入描述:

我們用每種字符代表一種寶石,A表示紅寶石,B表示藍寶石,C代表紫水晶,D代表翡翠,E代表鉆石,F代表玉石,G代表玻璃等等,我們用一個全部為大寫字母的字符序列表示項鏈的寶石序列,注意項鏈是首尾相接的。每行代表一種情況。

輸出描述:

輸出學者能夠拿到的最多的寶石數量。每行一個

示例1:
輸入
ABCYDYE
ATTMBQECPD
輸出
1
3
解題思路:

相當于構造一個動態的滑動窗口,窗口的大小依次遞增,最小為5,最大為輸入字符串的長度。然后用這個窗口依次從左向右框選字符,每框選依次,便進行依次判斷,如果符合題意,就輸出length-n,退出程序。

#include<iostream>
#include<string.h>
using namespace std;bool In(string str,int n){int i,j;int count=0;string s="ABCDE";for(i=0;i<5;i++){for(j=0;j<n;j++){if(s[i]==str[j]){count++;break;}}}if(count==5)return true;elsereturn false;
}int main(){string str;string temp;int length;int n;int i;int k;cin>>str;length=str.length();for(n=5;n<=length;n++){for(i=0;i<length;i++){temp.clear();for(k=0;k<n;k++){temp.append(1,str[(i+k+1)%length]);}if(In(temp,n)){cout<<length-n<<endl;return 0;}}}
} 

歡迎留言交流。。。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375820.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375820.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375820.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

插件開發-UI插件開發

1.新建類庫解決方案&#xff0c;引入命名空間,同時引入要添加UI Form的WebPart(在Portal\UILib目錄下)2.繼續UFSoft.UBF.UI.Custom.ExtendedPartBase&#xff0c;重寫AfterInit()方法&#xff0c;代碼如下&#xff0c;便于添加下拉列表按鈕&#xff0c;在原單據中UI先新增一下拉…

為博客園選擇一個小巧霸氣的語法高亮插件

博客園的語法高亮簡直蛋疼&#xff0c;于是乎就打算找一個靠譜的插件來改造下。各種百度谷歌&#xff0c;大致得到幾個推薦&#xff1a;SyntaxHighlighter&#xff0c;Snippet&#xff0c;Google Code Pretiffy&#xff0c;Highlight&#xff0c;SHJS。其實 SyntaxHighlighter …

計算器軟件設計和計算機軟件設計區別,求一個模擬計算器程序

# include# include# include# include# define MAX_OPERATOR_NUM 100//運算符棧數組長度# define MAX_DATA_NUM 100//運算數棧數組長度typedef struct OPStack//定義運算符棧{char opStack[MAX_OPERATOR_NUM];int top;}OPStack, *pOPStack;typedef struct DATAStack//定義操作…

python中print語句

學習鏈接1 學習鏈接2 1. 如果print語句后面什么符號都沒有是個換行語句&#xff0c;也就是是要另起一行。 2. 分號表示下次輸出是緊挨著這個光標位置輸出. 3. 而逗號是下次輸出與這次輸出有一定的空格之后接著輸出. namekk salutationMr. greetingHello, print greeting,sa…

計算機應用基礎論壇貼子怎么發,網絡課程論壇中長尾現象的應對策略——以《計算機應用基礎》網絡課程為例...

摘要&#xff1a;進入21世紀以來,互聯網就備受關注.由于我國信息設施資源建設穩步推進,互聯網的基礎更為堅實,發展更為迅速.據權威數據統計,中國至2009年約擁有130萬個BBS論壇,數量為全球第一,然而,作為分享和參與類應用的典型代表(更新博客,發帖/回帖)的使用率仍然偏低.筆者在…

解析Json需要設置Mime

IIS6.0 1.打開IIS添加Mime項 關聯擴展名&#xff1a;*.json內容類型(MIME)&#xff1a;application/x-javascript 2.添加映射&#xff1a; 位置在IIS對應站點右鍵屬性&#xff1a;”主目錄”-”應用程序設置”-”配置”-”映射”-”添加”&#xff0c;會打開”添加/編輯應用程序…

Using the Transient Fault Handling Application Block

http://msdn.microsoft.com/en-us/library/dn440719(vpandp.60).aspx轉載于:https://www.cnblogs.com/fengye87626/p/3772555.html

讓python腳本像普通程序一樣運行

有些時候像運行其他程序一樣運行python程序&#xff08;也叫做腳本&#xff09;&#xff0c;而不是顯式使用python解釋器。在UNIX中有個標準的實現方法&#xff1a;在腳本首行前面加上#&#xff01;&#xff08;叫做pound bang或者shebang&#xff09;&#xff0c;在其后加上用…

Function類型(JS高程3)—— JS學習筆記2015-6-29(第70天)

Function 類型 函數是對象 具有屬性和方法&#xff0c;函數名實際上是一個指向函數對象的指針 沒有重載&#xff1b; 函數聲明和函數表達式 函數聲明&#xff1a; function sum (num1, num2){ return num1 num2; } 函數表達式&#xff1a; var sum function(num1, num2){ ret…

PS圖片刪除需要計算機管理權限,如何使用PsTools工具執行本地/遠程PC管理任務

大多數剛入門的管理員都習慣使用 RDP 或其它類似的工具連接到遠程 Windows 中進行圖形化管理。而 PowerShell 及 PsTools 等工具可以幫助我們在命令行中執行相當多的管理任務&#xff0c;更主要的是可以將其寫成腳本來執行周期性重復任務或在管理大批量服務器時提高效率。在企業…

LeetCode:Spiral Matrix I II

Spiral Matrix Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order. For example, Given the following matrix: [[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ] ] You should return [1,2,3,6,9,8,7,4,5]. 打印螺旋矩陣 逐個環…

TCP為什么需要三次握手和四次揮手

網上已經有很多解釋了&#xff0c;就不瞎說了&#xff0c;Mark一些鏈接作為自己的學習筆記吧。 學習參考鏈接1 學習參考鏈接2 學習參考鏈接3 學習參考鏈接4 為什么要3次握手 防止已過期的連接請求報文突然又傳送到服務器&#xff0c;因而產生錯誤。 Client發生一個請求連…

不屬于個人計算機范圍的是,計算機應用基礎模擬試卷2

一、1.單項選擇題單項選擇題每小題1分。在每小題列出的四個備選項中只有一個是符合題目要求的&#xff0c;請將其選出并將“答題卡”的相應代碼涂黑。未涂、錯涂或多涂均無分。0. 個人計算機屬于A&#xff0e;小巨型機B&#xff0e;小型計算機C&#xff0e;微型計算機D&#xf…

Python實驗:關燈游戲

文章目錄 前言一、設計表二、關鍵代碼三、運行結果小地圖&#xff0c;容易難度&#xff1a;中地圖&#xff0c;中等難度&#xff1a;大地圖&#xff0c;困難難度&#xff1a; 四、完整代碼鏈接總結 前言 這是一個Python實驗作業&#xff0c;內容如下&#xff1a; 題目要求&am…

解決Ubuntu14.04在外接顯示器不能指定問題的最佳分辨率

通常這種情況發生。在System Settings -> display 你會發現多出了一個 unknown display。這往往是因為你使用質量低劣的視頻電纜&#xff0c;例如&#xff0c;幾美元VGA線。解決方案有&#xff12;&#xff0c;質量好的一個改變鋼帶&#xff08;有磁場干擾&#xff09;VGA線…

基礎練習 - 數值交換

題目 1 聲明兩個變量&#xff1a;int n1 10,n2 20,要求將兩個變量叫喚&#xff0c;最后輸出n1為20,n2為10. (擴展*: 不使用第三個變量如何交換) 解決方案 基本方法 private static void BasicMethod(){int n1 10;int n2 20;Console.WriteLine("n1…

python計算圓的面積

用Python創建一個腳本&#xff0c;要求&#xff1a; 能計算半徑為2的圓的面積保留10位小數可以直接執行 #!/usr/bin/env python3 import math print("Area is:{:.10f}".format(math.pi*4))計算圓的面積要用到pi&#xff0c;所以我們引用模塊math

Visual Studio 配色方案

字體&#xff1a;Fixedsys Excelsior 字體大小&#xff1a;12 配色方案&#xff1a;http://studiostyles.info 導入步驟&#xff1a; 工具->導入和導出設置->導入選定的環境設置->否&#xff0c;僅導入新設置->“瀏覽”->下載的vssetings文件->完成。 轉載于…

昆明學院計算機專業在哪個校區,昆明學院有幾個校區及校區地址

昆明學院有幾個校區及校區地址2017-06-19 11:15:56文/韓競儀最近有很多考生和家長咨詢小編&#xff0c;昆明學院有幾個校區&#xff0c;今年新生會被分配到哪個校區?哪個校區好?等相關問題&#xff0c;下面小編統一回復一下考生們的問題。昆明學院有3個校區&#xff0c;分別是…

python列表總結

列表方法append()&#xff1a;在列表末尾添加元素列表方法insert()&#xff1a;在列表任意位置插入元素&#xff0c;a.insert(0,1)&#xff0c;在列表的0號位置插入元素1.列表方法count(s)&#xff1a;返回s在列表中出現的次數列表方法remove(s)&#xff1a;移除列表中的第一個…