題解 P1012 拼數

2021-09-25 02:06:29 字數 456 閱讀 4194

想發布一道題解。。。

其實這道題思路很簡單,主要是用字串(為什麼不用數字呢,因為字串是按ascii來一位一位比較大小更方便)來排序。

主要注意有一點:有字尾(這裡後交換綴可能為任何數,但是只用判斷最後幾位。比如 :789和78,肯定為78978,那麼是怎麼判斷的呢,相信大家都知道了,當前幾位數相同時,只用比較相同的最後一位數(8)的下一位(9),如果大於第一位數就不交換,如果大於就交換(如果這個的9是1的話就為78781)),如果不考慮字尾的話就可以直接比較字串(比如樣例,討論區中的80分應該都沒考慮到字尾吧。。。)

下面放**

#include#include#include#includeusing namespace std;

bool cmp(string a,string b)

else

}int main()

p1012拼數題解

include include using namespace std bool cmp string b,string a 靈魂在這 intmain 就是這樣看標記的那一行 想學的慢慢讀完 利用乙個字串陣列,兩個陣列相加不是數值相加而是直接相加 樣例123 345 123345.利用這個性質,將前...

洛谷 P1012 拼數

大約有兩種方法 來處理 用字串來比較兩數字 solution 1 p1012 拼數 include include include include include define maxn 21 using namespace std int n,i string s maxn bool cmp st...

洛谷P1012 拼數

有n個正整數 n 20 將它們聯接成一排,組成乙個最大的多位整數。例如 n 3時,3個整數13,312,343聯接成的最大整數為 34331213 又如 n 4時,44個整數7,13,4,246聯接成的最大整數為 7424613 輸入輸出格式 輸入格式 第一行,乙個正整數n。第二行,n個正整數。輸出...