最大組合數
阿新 • • 發佈:2018-12-19
A - 和你在一起
時間限制:1秒 記憶體限制:128兆 題目描述: 我想和你在一起 直到我不愛你 寶貝 人和人 一場遊戲 我願意為你死去 如果我還愛你 寶貝 反正活著 也沒意義 寶貝 我也只能 這樣為你 ——李志《和你在一起》
例如: n=3 時,3 個整數 13,312,343 聯接成的最長時間為: 34331213。又如: n=4 時,4 個整數 7,13,4,246 聯接成的最長時間為: 7424613。
輸入: 第一行輸入T,代表下面有T組資料。 n (1≤n≤20),表示 n 個數。 接下來一行 n 個正整數,大小不超過 104。 輸出拼成的最長時間。 樣例輸入:
1 3 413 623 583
樣例輸出:
623583413
#include <cstdio> int CMP(int a,int b) { int a1=a,b1=b,la=10,lb=10; while(a/la) { la*=10; } while(b/lb) { lb*=10; } return (a*lb+b)-(b*la+a); } int main() { int x,i,j,n; int d[20],t; scanf("%d",&x); while(x--){ scanf("%d",&n); for(i=0; i<n; i++) { scanf("%d",&d[i]); } for(j=0; j<n-1; j++) for(i=0; i<n-1-j; i++) { if(CMP(d[i],d[i+1])<0) { t=d[i+1]; d[i+1]=d[i]; d[i]=t; } } for(i=0; i<n; i++) { printf("%d",d[i]); } printf("\n"); } return 0; }