設有nn個正整數(n≤20)(n≤20),將它們聯接成一排,組成乙個最大的多位整數。
例如:n=3n=3時,33個整數1313,312312,343343聯接成的最大整數為:3433121334331213
又如:n=4n=4時,44個整數77,1313,44,246246聯接成的最大整數為:74246137424613
輸入格式:
第一行,乙個正整數nn。
第二行,nn個正整數。
輸出格式:
乙個正整數,表示最大的整數
輸入樣例#1: 複製
3輸出樣例#1: 複製13 312 343
34331213字串交水的題
一開始cmp考慮了半天a了
#includeusingview codenamespace
std;
//input
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define repp(i,a,b) for(int i=(a);i>=(b);i--)
#define ri(n) scanf("%d",&(n))
#define rii(n,m) scanf("%d%d",&n,&m);
#define riii(n,m,k) scanf("%d%d%d",&n,&m,&k)
#define rs(s) scanf("%s",s);
#define ll long long
#define inf 0x3f3f3f3f
#define rep(i,n) for(int i=0;i
#define clr(a,v) memset(a,v,sizeof a)
/////////////////////////////////
/bool cmp(string a,stringb)}
intmain()
但是可以直接加起來進行比較
#includeusingview codenamespace
std;
//input
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define repp(i,a,b) for(int i=(a);i>=(b);i--)
#define ri(n) scanf("%d",&(n))
#define rii(n,m) scanf("%d%d",&n,&m);
#define riii(n,m,k) scanf("%d%d%d",&n,&m,&k)
#define rs(s) scanf("%s",s);
#define ll long long
#define inf 0x3f3f3f3f
#define rep(i,n) for(int i=0;i
#define clr(a,v) memset(a,v,sizeof a)
/////////////////////////////////
/bool cmp(string a,string
b)int
main()
真是智商是硬傷
洛谷P1012拼數 字串排序
設有n個正整數 n 20 將它們聯接成一排,組成乙個最大的多位整數。例如 n 3時,3個整數13,312,343聯接成的最大整數為 34331213 又如 n 4時,4個整數7,13,4,246聯接成的最大整數為 7424613 輸入格式 第一行,乙個正整數n。第二行,n個正整數。輸出格式 乙個正整...
字串處理洛谷P1012拼數
剛開始並沒有想到字串排序,想用整數一位一位比較,想了半天感覺太難了,然後想到了字串排序,寫完高興怎麼這麼簡單,結果一提交wa了乙個點,一看原來32,321的組合最大是32321,而字串排序的話321 32這就有問題了,於是修改了排序 include include include include i...
題解 P1012 拼數
想發布一道題解。其實這道題思路很簡單,主要是用字串 為什麼不用數字呢,因為字串是按ascii來一位一位比較大小更方便 來排序。主要注意有一點 有字尾 這裡後交換綴可能為任何數,但是只用判斷最後幾位。比如 789和78,肯定為78978,那麼是怎麼判斷的呢,相信大家都知道了,當前幾位數相同時,只用比較...