93 隱藏口令

2021-10-04 04:55:45 字數 1054 閱讀 9941

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 位置上的最小點,尋找次小...