我只是来混点牛币的
竞赛技巧
http://www.nowcoder.com/questionTerminal/de7bff8bc69d4b07b2c32072b110bb32
这里可以用逻辑组合,写个Rule就好了。
#include<cstdio> #include<iostream> #include<algorithm> using namespace std; struct T { int h, m, s; }a[5010]; bool Rule(const T& lhs, const T& rhs) { return lhs.h < rhs.h ||(lhs.h == rhs.h && lhs.m < rhs.m) || (lhs.h == rhs.h && lhs.m == rhs.m && lhs.s < rhs.s); } int main() { int n; scanf("%d", &n); for (int i = 0; i < n; ++i) { scanf("%d %d %d", &a[i].h, &a[i].m, &a[i].s); } sort(a, a + n, Rule); for (int i = 0; i < n; ++i) { printf("%d %d %d\n", a[i].h, a[i].m, a[i].s); } }