给定 N个三元组 (x,y,z),其中 x是整数,y是浮点数,z是字符串。
请你按照 x从小到大的顺序将这些三元组打印出来。
数据保证不同三元组的 x值互不相同。
输入格式
第一行包含整数 N。
接下来 N 行,每行包含一个整数 x,一个浮点数y,一个字符串 z,表示一个三元组,三者之间用空格隔开。
输出格式
共 N行,按照 x从小到大的顺序,每行输出一个三元组。
注意,所有输入和输出的浮点数 y均保留两位小数。
数据范围
1≤N≤10000
1≤x,y≤105
字符串总长度不超过 105
输入样例:
5
32 1.36 nsyiupnnhc
18 4.53 fmofzwrah
33 4.86 wzuymbm
1 3.93 gtnrwcebt
31 4.53 gcllxioc
输出样例:
1 3.93 gtnrwcebt
18 4.53 fmofzwrah
31 4.53 gcllxioc
32 1.36 nsyiupnnhc
33 4.86 wzuymbm
C++ 代码
#include<bits/stdc++.h>
using namespace std;
struct A{
int a;
double b;
string c;
}s[100001];
int n;
bool cmp(A a,A b)
{
if(a.a!=b.a)return a.a<b.a;
if(a.b!=b.b)return a.b<b.b;
return a.c<b.c;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>s[i].a>>s[i].b>>s[i].c;
sort(s+1,s+n+1,cmp);
for(int i=1;i<=n;i++) cout<<s[i].a<<' '<<fixed<<setprecision(2)<<s[i].b<<' '<<s[i].c<<'\n';
}