CJOJ P1096 最佳老農

2021-07-24 13:57:38 字數 1028 閱讀 2877

fj打算帶著他可愛的n (1 ≤ n ≤ 2,000)頭奶牛去參加」年度最佳老農」的比賽.在比賽中,每個農夫把他的奶牛排成一列,然後準備經過評委檢驗.

比賽中簡單地將奶牛的名字縮寫為其頭字母(the initial letter of every cow),舉個例子,fj帶了bessie, sylvia,和dora,那麼就可以縮寫為bsd.

fj只需將奶牛的乙個序列重新排列,然後參加比賽.他可以讓序列中的第一頭奶牛,或者最後一頭走出來,站到新佇列的隊尾.

利慾薰心的fj為了取得冠軍,他就必須使新佇列的字典序盡量小.

給你初始奶牛序列(用頭字母)表示,然後按照上述的規則組成新序列,並使新序列的字典序盡量小.

第1行:乙個整數n.

第2行至第n+1行:每行乙個大寫字母,表示初始序列中該奶牛的頭字母.

得到的最小字典序的序列.每輸出80個字母需要乙個換行!

6 a

c d

b c

babcbcd

貪心題,首先來看給定字串,比較首位,哪邊小就把哪邊彈出,輸出,然後繼續。如果相等就像裡面搜,誰的裡面小誰就更小,直接這樣貪心就行了。最後依次輸出。

#include

#include

#include

#include

#include

using

namespace

std;

int n;

int main()

//用不定長陣列vector來儲存,方便刪除

int k;

for(int i=1;i<=n;++i)

if(ch[0]>ch[k])//最後乙個元素更小

if(ch[0]==ch[k])//一樣

//while迴圈找裡面的元素

if(a>=b)

//如果都相等,隨便彈出乙個

if(ch[a]//如果後面的元素跟小則彈出相應的元素

if(ch[b]cout}}

}cout

0;}

CJOJ P1096 最佳老農

fj打算帶著他可愛的n 1 n 2,000 頭奶牛去參加 年度最佳老農 的比賽.在比賽中,每個農夫把他的奶牛排成一列,然後準備經過評委檢驗.比賽中簡單地將奶牛的名字縮寫為其頭字母 the initial letter of every cow 舉個例子,fj帶了bessie,sylvia,和dora...

10 9學習總結

先補上前兩天的學習總結,假裝現在是10.9.今天覆習了hja的講課內容,總結出重要的有3點,第一點是比賽的對於long long int的應用,如下 ifdef win32 define lld i64d else define lld lld endif int main 第二點是關於noip 2...

每日練習109

1.在同一通道上同一時刻,可進行雙向資料傳送的通訊方式是 c單工 半雙工全雙工 上述三種均不是 如果在通訊過程的任意時刻,資訊只能由一方a傳到另一方b,則稱為單工。如果在任意時刻,資訊既可由a傳到b,又能由b傳a,但只能由乙個方向上的傳輸存在,稱為半雙工傳輸。如果在任意時刻,線路上存在a到b和b到a...