洛谷 P1012 拼數

2021-07-24 15:42:21 字數 1039 閱讀 7028

大約有兩種方法

來處理 用字串來比較兩數字

solution 1:

//p1012 拼數

#include

#include

#include

#include

#include

#define maxn 21

using

namespace

std;

int n, i;

string s[maxn];

bool cmp(string s1, string s2)

return s1 > s2;

}int main()

/*問題如下:

123321 和 123 兩個數字

123021 和 123 兩組數字

以上兩組顯然需求的排列的順序不同

但若按字典序排列則是相同的

所以我們有如下奇技淫巧 :

將兩個數字較短的那個重複若干次 直到短的那個比長的那個原長要長

由於上面的方法要判斷 我們不如同時重複 便於設計程式

*/

solution 2 (更優~~):

//p1012 拼數

//by 陳逸彤

#include

#include

#include

#include

#include

#define maxn 21

using

namespace

std;

int n, i;

string s[maxn];

bool cmp(string s1, string s2)

int main()

/*問題如下:

123321 和 123 兩個數字

123021 和 123 兩組數字

以上兩組顯然需求的排列的順序不同

但若按字典序排列則是相同的

*/

要記住這種巧妙的比較方式~~~

洛谷P1012 拼數

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

洛谷P1012(拼數)

設有 n 個正整數 a1 an a 1 dots a n a1 an 將它們聯接成一排,相鄰數字首尾相接,組成乙個最大的整數 第一行有乙個整數,表示數字個數 n。第二行有 n 個整數,表示給出的 n 個整數 a ia i ai 乙個正整數,表示最大的整數 對於這一題,我剛開始還是想老老實實用int或...

洛谷 P1012 拼數

雖然這只是個簡單的排序,將每個數用字串的形式輸入,從大到小排並比較字典序即可,但是他的cmp函式用到了前幾天思維碾壓題的a b與b a的比較 hhh找題剛好遇到了,你說巧不巧 include using namespace std define int long long define ios io...