ny2020程式設計決賽D 早華寅的財富密碼

2021-10-13 19:24:01 字數 1983 閱讀 8952

//字串string的比較與拼接

problem d. 早華寅的財富密碼

input file: standard input

output file: standard output

time limit: 1 second

memory limit: 128 megabytes

早隊在睡覺做夢的時候夢到自己發現了乙個藏寶圖,並根據藏寶圖成功找到了寶藏的位置,現在他在寶藏的入口處,入口的地上散布著一些碎片,好像是寶藏的鑰匙,碎片上寫著乙個個數字,需要你拼成乙個最大的整數才能形成正確的鑰匙開啟寶藏入口的門,你能幫助早華寅拼好鑰匙嗎?

input

第一行給定乙個整數 n 代表下面有 n 個碎片

第二行給定 n 個正整數

保證輸入的所有資料均不大於 1000

output

輸出乙個整數作為答案

example

standard input standard output

intput

23 30

81 3 30 305 346 5 58 8

85853463305301

output

33085853463305301

這道題一旦陷入常規思路會發現越想越複雜。關鍵是要把其轉換為陣列排序的問題。給定任意兩個整數,設計乙個比較規則,讓其組成的整數最大。其實也是很簡單,比如a和b兩個整數,把他們兩個分別前後拼接成兩個整數,再比較一下大小之後就知道誰大誰小。舉個例子就是3和30這兩個整數;用字串拼接起來分別是 303和 330;然後轉換為整數再比較一次,發現330比303大,也就是 拼在30前面比較大,那麼就是說3比30要大。

#include

#include

#include

#include

#include

using namespace std;

string s[

1000009];

int cmp

(string a,string b)

int main()

sort

(s,s+n,cmp)

;for

(int i=

0;i)}

//或者這樣寫
#include

#include

#include

#include

#include

using namespace std;

string s[

1000009];

int cmp

(string a,string b)

int main()

sort

(s,s+n,cmp)

; string result;

//再定義乙個

for(int i=

0;i) cout<}// a code block

var foo =

'bar'

;

//我之前的**,不曉得**出錯了!!!

#include

#include

#include

#include

using namespace std;

struct bookp[

1000009];

int cmp

(book a,book b)

if(a.n1==b.n1)

return a.n1 > b.n1 ;

}int main()

else

if(p[i]

.n>=

10&& p[i]

.n<

100)

else

}sort

(p,p+t,cmp)

;for

(int i=

0;i) cout<}

2020編碼大賽(5)半決賽

2020編碼大賽題目 半決賽,是32個隊伍選出8個隊伍。一,需求變更 我的解讀 1,檔案大小是1024的倍數 2,可以混合裝載 3,排程階段可以訪問檔案 二,壓縮演算法 在寫了乙個很簡單的lzw演算法之後,經過多日的攻堅,終於把ppmd寫出來了。壓縮率 2 7,也就是說一般情況下可以裝載7份 這裡列...

華為程式設計大賽決賽題

題目 俄羅斯方塊覆蓋。給定 乙個21 21的格仔矩陣,從1到441編號。輸入是乙個檔案testin.txt,裡面有4個數字,每乙個數字代表陣列下標,陣列元素值為1,表示障礙。空著的格仔用0表示。這四個數字代表的圖形只能是這個中的一種!也就是說。矩陣中4個1勾勒出個圖形只能是這兩種樣子。要求是用俄羅斯...

2020 ICPC 小公尺邀請賽 決賽

遊記什麼的沒空寫了,雖然有許多很有趣的事情想寫 但是出去旅遊拉下了一大堆作業。以前高中寫遊記可以心安理得占用訓練時間 但現在不是了。至少現在ddl要到了 現場只有3t,bgk,最後e給我打傻了。更正一下看過的題 可以發現,我們不可能出現被打2a的情況 如果出現了,那麼改為每天回答問題一定更優 那麼就...