最大整數 貪心

2021-07-11 18:25:49 字數 734 閱讀 4863

題目描述

設有n個正整數 (n<=20), 將它們連線成一排, 組成乙個最大的多位整數.

例如: n=3時, 3個整數13, 312, 343連線成的最大整數為: 34331213

又如: n=4時, 4個整數7,13,4,246連線成的最大整數為: 7424613

輸入輸出格式

輸入格式:

n n個數

輸出格式:

連線成的多位數

輸入輸出樣例

輸入樣例#1:

3 13 312 343

4 7 13 4 246

輸出樣例#1:

34331213

7424613

演算法分析:

本例因為涉及將兩個自然數連線起來的問題,採用字串來處理比較方便。首先我們自然會想到大的字串應該排在前面,因為如果a與b是兩個由數字字元構成的字串且a>b,一般情況下有a+b>b+a,但是當a=b+c時,按字串的大小定義有a>b,這時有可能出現a+b

using

namespace

std;

string a[10000010];

int main()

}for (i=1;i<=n;i++)//從大到小輸出

說說演算法,第一次知道了用字串陣列(以前都用結構體)。

兩個字串竟然可以直接相加(即合併)

可以直接比大小(必須是同一長度)

貪心演算法 最大整數問題詳解

貪心演算法 最大整數問題詳解 最大整數 設有n個正整數,將它們連線成一排,組成乙個最大的多位整數。例如 n 3時,3個整數13,312,343,連成的最大整數為34331213。又如 n 4時,4個整數7,13,4,246,連成的最大整數為7424613。輸入 n n個數輸出 連成的多位數 演算法分...

連線整數(貪心)

問題描述 設有n n 20 個正整數,將他們連線成一排,組成乙個最大的多位整數。例如n 3時,3個整數13,312,343,連線成的最大整數為34331213。又如 n 4時,4個整數7,13,4,246連成的最大整數為7424613 輸入格式 第1行乙個整數n,第2行n個整數 輸出格式 連線成的多...

(貪心)整數區間

題目 找到乙個含元素個數最少的集合,使得對於每乙個區間,都至少有乙個整數屬於該集合,輸出該集合的元素個數。輸入 首行包括區間的數目n,1 n 10000,接下來的n行,每行包括兩個整數a,b,被一空格隔開,0 a b 10000,它們是某乙個區間的開始值和結束值。輸出 第一行集合元素的個數,對於每乙...