当前位置: 代码迷 >> 综合 >> UVA 10905 Children's Game 水 .
  详细解决方案

UVA 10905 Children's Game 水 .

热度:104   发布时间:2023-09-23 05:18:03.0

题目地址:http://vjudge.net/problem/UVA-10905

数据量那么少,直接暴力就好了

1)长度一样的时候,比较字符串大小就好了

2)不一样的时候,一个放前面,或者后面都试一下就好了


#include <bits/stdc++.h>
using namespace std;
#define REP(i,a,b) for(int i=a;i<=(b);++i)
#define REPD(i,a,b) for(int i=a;i>=(b);--i)
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)<(b)?(a):(b))
string s[50+3];
bool cmp(string s1,string s2){if(s1.size()==s2.size()) return s1>s2;else return s1+s2>s2+s1;
}
int main(int argc, char const *argv[])
{int N; while(scanf("%d",&N)==1&&N){REP(i,0,N-1) cin>>s[i];sort(s,s+N,cmp);REP(i,0,N-1) cout<<s[i];printf("\n");}return 0;
}


  相关解决方案