題目描述
設有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,它們是某乙個區間的開始值和結束值。輸出 第一行集合元素的個數,對於每乙...