93 隱藏口令
問題描述 :
有時候程式設計師有很奇怪的方法來隱藏他們的口令。
billy"hacker"geits會選擇乙個字串s(由l個小寫字母組成,5<=l<=100,000),然後他把s順時針繞成乙個圈。
如字串cbadfa,繞成乙個圈後,我們認為字串首尾相連。
每次取其中乙個字母作為起始字母,並順時針依次取字母而組成乙個字串。這樣將得到一些字串。
比如字串cbadfa,按照以上規則取出的字串有:
cbadfa badfac adfacb dfacba facbad acbadf
我們找到最小的那個字串,可知為acbadf,也可知道它的第乙個字元』a』在原字串cbadfa中為第6個字元(位置從1開始),
將得到的結果6減1得到5,這就是我們需要的口令。
再比如字串alabala,繞成乙個圈後,每次取其中乙個字母作為起始字母,並順時針依次取字母而組成乙個字串。這樣將得到一些字串:
alabala labalaa abalaal balaala alaalab laalaba aalabal
我們找到最小的那個字串,可知為aalabal,它的第乙個字母』a』在原字串中位置為7,7-1=6,則6為口令。
注:如果按照規則有兩個字串都是最小的,則取前面那乙個。
輸入說明 :
第一行:乙個數l
第二行及之後:字串s。
注意:字串s可跨多行,但其中的』\n』不算成s中的字元
輸出說明 :
一行,為得到的口令。
無多餘空格或空行。
輸入範例 :
6cbadfa
輸出範例 :
/**
字串順時針進行排序
*/#include
#include
intmain()
for(i=
0;i)int min=0;
for(i=
1;iprintf
("%d\n"
,min);}
return0;
}
東華oj 高階題第93題 隱藏口令
93 隱藏口令 問題描述 有時候程式設計師有很奇怪的方法來隱藏他們的口令。billy hacker geits會選擇乙個字串s 由l個小寫字母組成,5 l 100,000 然後他把s順時針繞成乙個圈。如字串cbadfa,繞成乙個圈後,我們認為字串首尾相連。每次取其中乙個字母作為起始字母,並順時針依次...
wikioi 1456 隱藏口令
首先,我們通過題目知道,題目是想讓我們生成n個關於s的變幻串,其實生成變幻串很簡單,就是在s的後面不斷插入得到的新序列,然後再找出第乙個,找出其位置,學c 的做這道題比較容易,因為有stl模板,裡面的string比較容易 以下 include include include include usin...
隱藏口令 東華大學OJ練習題
1.題目要求 2.思路 看似簡單的題卻想不出來什麼好的思路,太菜了,只能暴力求解 相當於bfs 依次找每一層的最小值即可 includeint min 100000 記錄所有最小字元的下標 char s 100000 記錄輸入的字串 int l 字串長度l 遍歷 0 n 1 位置上的最小點,尋找次小...