比赛 |
2016-10-11 4 syz |
评测结果 |
AWWWWWWWWA |
题目名称 |
数字积木 |
最终得分 |
20 |
用户昵称 |
Jobs.T |
运行时间 |
0.480 s |
代码语言 |
C++ |
内存使用 |
0.51 MiB |
提交时间 |
2016-10-11 20:22:51 |
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int n, now_max;
char num[1005][205];
bool out[1005];
string ans;
bool cmp(char a[], char b[]) {
int lena = strlen(a);
int lenb = strlen(b);
if (lena > lenb) return true;
else if (lena < lenb) return false;
for (int i = 0; i < lena; i++) {
if (a[i] > b[i]) return true;
else if (a[i] < b[i]) return false;
}
return true;
}
int main() {
freopen("brick.in", "r", stdin);
freopen("brick.out", "w", stdout);
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
scanf("%s", &num[i]);
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (!out[j]) {
now_max = j;
break;
}
}
for (int j = 1; j <= n; j++) {
if (!out[j]) {
if (!cmp(num[now_max], num[j])) {
now_max = j;
}
}
}
ans += num[now_max];
out[now_max] = true;
}
cout << ans << "\n";
return 0;
}