程式設計思維(CSP模擬題)B HRZ 學英語

2021-10-07 03:43:19 字數 2140 閱讀 6805

瑞神今年大三了,他在寒假學會了英文的26個字母,所以他很興奮!

於是他讓他的朋友tt考考他,tt想到了乙個考瑞神的好問題:給定乙個字串,從裡面尋找 連續的26個大寫字母 並輸出!

但是轉念一想,這樣太便宜瑞神了,所以他加大了難度:現在給定乙個字串,字串中包括26個大寫字母和特殊字元』?』,特殊字元』?'可以代表任何乙個大寫字母。

現在tt問你是否存在乙個 位置連續的且由26個大寫字母組成的子串 ,在這個子串中每個字母出現且僅出現一次,如果存在,請輸出從左側算起的第乙個出現的符合要求的子串,並且要求,如果有多組解同時符合位置最靠左,則輸出字典序最小的那個解!如果不存在,輸出-1!

這下hrz矇圈了,他剛學會26個字母,這對他來說太難了,所以他來求助你,請你幫他解決這個問題,報酬是可以幫你打守望先鋒。

說明:字典序 先按照第乙個字母,以 a、b、c……z 的順序排列;如果第乙個字母一樣,那麼比較第二個、第三個乃至後面的字母。如果比到最後兩個單詞不一樣長(比如,sigh 和 sight),那麼把短者排在前。例如

ab??efghijklmnopqrstuvwxyz

abcdefghijklmnopqrstuvwxyz

abdcefghijklmnopqrstuvwxyz

上面兩種填法,都可以構成26個字母,但是我們要求字典序最小,只能取前者。

注意,題目要求的是 第乙個出現的, 字典序最小的 !

input

輸入只有一行,乙個符合題目描述的字串。

output

輸出只有一行,如果存在這樣的子串,請輸出,否則輸出-1

sample input1

abc??fghijk???opqr?tuvwxy?

sample output1

abcdefghijklmnopqrstuvwxyz

sample input2

aabcdefghijklmnopqrstuvw??m

sample output2

-1

設輸入的字串為str。

建立乙個陣列visit[26]。若visit[i]=true,則說明第i個字母存在。

for

(left從0遍歷到str.length -26)

if(不符合要求)

continue

;for

(i從left到right遍歷)

輸出str;

}

#include

#include

using

namespace std;

string str;

bool visit[26]

;//visit[0]使用,代表'a'

bool solve;

int left, right;

int cnt;

void

print()

cout << endl;

}int

find()

intmain()

//cout << "1" << endl;if(

!solve)

continue

;//cout << "left: " << left << " " << "right: " << right << endl;

//print();

for(

int i = left; i < right; i++)}

//cout << "2" << endl;

for(

int i = left; i < right; i++

) cout << str[i]

; cout << endl;

return0;

} cout <<

"-1"

<< endl;

return0;

}

WEEK8 csp模擬 B HRZ學英語

瑞神今年大三了,他在寒假學會了英文的26個字母,所以他很興奮!於是他讓他的朋友tt考考他,tt想 到了乙個考瑞神的好問題 給定乙個字串,從裡面尋找連續的26個大寫字母並輸出!但是轉念一想,這樣太便宜瑞神了,所以他加大了難度 現在給定乙個字串,字串中包括26個大寫字母和特殊字 符 特殊字元 可以代表任...

week8 CSP模擬B HRZ學英語

給定乙個只含26個大寫英文本母和 的字串,找出乙個連續的且由26個大寫字母組成的串,在這個子串中每個字母都只出現一次 可以當做任何字母 如果有,輸出最靠左且字典序最小的子串 如果沒有 輸出 1 input 乙個字串 len 106 output 子串或 1 sample input 1 abc?fg...

程式設計思維(CSP模擬題)A HRZ 的序列

相較於咕咕東,瑞神是個起早貪黑的好孩子,今天早上瑞神起得很早,刷b站時看到了乙個序列a,他對這個序列產生了濃厚的興趣。他好奇是否存在乙個數k,使得一些數加上k,一些數減去k,一些數不變,使得整個序列中所有的數相等。其中對於序列中的每個位置上的數字,至多只能執行一次加運算或減運算或是對該位置不進行任何...