问题标题: 酷町堂:请问1417这题哪错了,指点一下,急

0
0
已解决
刘宇唐
刘宇唐
中级守护
中级守护
#include <iostream>
#include <algorithm>
using namespace std;
int n,m;
string a[105];
bool cmp(string a,string b){
    if(a.size()!=b.size()) 
        return a.size()<b.size();
    return a<b;
}
bool cmp1(string a,string b){
    return a+b<b+a;
}
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    sort(a+1,a+1+n,cmp);
    sort(a+1,a+1+m,cmp1);
    for(int i=1;i<=m;i++){
        cout<<a[i];
    }
    return 0;
}

 


0
已采纳
曹灿阳
曹灿阳
初级天翼
初级天翼

第6行的cmp函数不要,同时第19行sort也不要

完美AC!!!

曹灿阳在2020-08-25 21:01:35追加了内容

排序后不要忘了把前导0去掉 ~QAQ~

 while(ans[0]=='0')
        ans.erase(0,1);
    if(ans.empty())
        ans="0";

写题时逻辑要严谨!!!

曹灿阳在2020-08-25 21:01:57追加了内容

别举报

0
王子健
王子健
初级天翼
初级天翼

就完事了,不需要那么麻烦,主循环内输入不变,只要一个sort,输出不变

0
被禁言 李秉轩
李秉轩
修练者
修练者
  • int n,m;
  • string a[105];
  • bool cmp(string a,string b){
  • if(a.size()!=b.size())
  • return a.size()<b.size();
  • return a<b;
  • }
  • bool cmp1(string a,string b){
  • return a+b<b+a;
  • }
  • int main(){
  • cin>>n;
  • for(int i=1;i<=n;i++){
  • cin>>a[i];
  • }
  •  
  • sort(a+1,a+1+n,cmp);
  • sort(a+1,a+1+n,cmp1);
  •  
  • for(int i=1;i<=n;i++){
  • cout<<a[i];
  • }
  • return 0;
  • }
0
吴庞茂旭
吴庞茂旭
资深光能
资深光能

这一题:

1、问作业题(我问过,是水贴);

2、有完整代码。

举报不谢

0
我要回答