2019-05-21 P1781

作者: 桐桑入梦 | 来源:发表于2019-05-21 14:51 被阅读0次

题目链接:https://www.luogu.org/problemnew/show/P1781

#include<iostream>
#include<cstring>
#include<string>
#include<vector> 
#include<cstdio>
#include<algorithm>
using namespace std;
int n;
string s;
typedef vector<int> vec;
typedef vector<vec> mat;
/*
    v1>v2 return -1;
    v1=v2 return 0;
    v1<v2 return 1
*/
int cmp(vec &v1,vec &v2){
    if(v1[0]!=v2[0]){
        if(v1[0]<v2[0]) return 1;
        else return -1;
    }
    else{
        for(int i=v1[0];i>=1;i--)
            if(v1[i]<v2[i]) return 1;
            else if(v1[i]>v2[i]) return -1;
    }
    return 0;
}
int main(void){
    scanf("%d",&n);
    mat A(n,vec(101));
    for(int i=0;i<n;i++){
        cin>>s;
        A[i][0]=s.length();
        for(int j=1;j<=A[i][0];j++)
            A[i][j]=s[A[i][0]-j]-'0';
        A[i][A[i][0]+1]=i+1;
    }
    for(int i=0;i<n;i++){
        for(int j=i+1;j<n;j++){
            if(cmp(A[i],A[j])>0) swap(A[i],A[j]);
        }
    }
    /*
    for(int i=0;i<n;i++){
        for(int j=A[i][0];j>=1;j--) cout<<A[i][j];
        cout<<" "<<A[i][A[i][0]+1];
        cout<<endl;
    }
    */
    
    cout<<A[0][A[0][0]+1]<<endl;
    for(int i=A[0][0];i>=1;i--) cout<<A[0][i];
    return 0;
} 

相关文章

网友评论

    本文标题:2019-05-21 P1781

    本文链接:https://www.haomeiwen.com/subject/jhljzqtx.html