【洛谷p1012】拼数

时间:2023-03-10 06:47:19
【洛谷p1012】拼数

(今天yuezhuren大课间放我们出来了……)

(另外今天回了两趟初中部)

拼数【传送门】

洛谷算法标签:

【洛谷p1012】拼数(然鹅这两个学的都不好,能过真的how strange)


开始的时候没读题啊,直接暴力sort给数据(int型的)排序然后从大到小输出了……(居然还ac了一个点)

然后我去仔细读了题,发现当这个数字首字母越大时(相同的话比下一位),位置越靠前,组成的数就越大,因为字符长度不确定,然后我在想是不是用字符类型的比较好做????

好了又半途不想写了   直接上代码吧

#include<iostream>
#include<cstdio>
#include<algorithm>//sort排序的头文件
#include<string>//string型函数的头文件
using namespace std;
bool cmp(string,string);
int main()
{
int n;
string a[];//定义神奇的string型字符
cin>>n;
for(int i=;i<=n;i++)
cin>>a[i];
sort(a+,a+n+,cmp);//排序
for(int i=;i<=n;i++)//输出
cout<<a[i];
}
bool cmp(string a,string b)//整个题的核心??技术含量最高的地方?
{
return a+b>b+a;// a+b其意为a放在b后面(b+a相返)
// 如果a+b得到的数值大于b+a,返回a+b
}