zoukankan      html  css  js  c++  java
  • 洛谷1012 拼数

    洛谷1012 拼数

    本题地址: http://www.luogu.org/problem/show?pid=1012

    题目描述

    设有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
    

    输出样例#1:

    34331213

    题解:我傻叉了。。。一开始对于两个数是直接按照字符串大小排的,wa了一发,才想起来要合在一起比较,so sad!
    另外:STL大法好!
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 #include<algorithm>
     5 #include<stack>
     6 #include<queue>
     7 #include<cstring>
     8 #define PAU putchar(' ')
     9 #define ENT putchar('
    ')
    10 #define MSE(a,b) memset(a,b,sizeof(a))
    11 #define REN(x) for(ted*e=fch[x];e;e=e->nxt)
    12 #define TIL(x) for(int i=1;i<=x;i++)
    13 #define ALL(x) for(int j=1;j<=x;j++)
    14 using namespace std;
    15 char s[20],t[20];
    16 struct data{string v;}A[30];
    17 bool operator<(const data&a,const data&b){return(a.v+b.v<b.v+a.v);}
    18 inline int read(){
    19     int x=0;bool sig=true;char ch=getchar();
    20     for(;!isdigit(ch);ch=getchar())if(ch=='-')sig=false;
    21     for(;isdigit(ch);ch=getchar())x=10*x+ch-'0';return sig?x:-x;
    22 }
    23 inline void write(int x){
    24     if(x==0){putchar('0');return;}if(x<0)putchar('-'),x=-x;
    25     int len=0;static int buf[20];while(x)buf[len++]=x%10,x/=10;
    26     for(int i=len-1;i>=0;i--)putchar(buf[i]+'0');return;
    27 }
    28 int main(){
    29     int n=read();TIL(n)cin>>A[i].v;sort(A+1,A+1+n);for(int i=n;i;i--)cout<<A[i].v;
    30     return 0;
    31 }


  • 相关阅读:
    HDU 1800 Flying to the Mars 字典树,STL中的map ,哈希树
    字典树 HDU 1075 What Are You Talking About
    字典树 HDU 1251 统计难题
    最小生成树prim算法 POJ2031
    POJ 1287 Networking 最小生成树
    次小生成树 POJ 2728
    最短路N题Tram SPFA
    poj2236 并查集
    POJ 1611并查集
    Number Sequence
  • 原文地址:https://www.cnblogs.com/chxer/p/4750263.html
Copyright © 2011-2022 走看看