Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
109802 | 李树强 | 01串排序 | C++ | 通过 | 100 | 0 MS | 268 KB | 671 | 2023-11-11 10:54:20 |
#include<iostream> #include<string> #include<algorithm> using namespace std; struct Str{ string s; int siz, o; void input(){ cin >> s; siz = s.size(); o = 0; for(int i = 0; i < siz; i++){ o += s[i] - '0'; } } } st[60]; bool cmp(Str a, Str b){ if(a.siz == b.siz){ if(a.o == b.o){ return a.s < b.s; } return a.o < b.o; } return a.siz < b.siz; } int main(){ // freopen("strand.in", "r", stdin); // freopen("strand.out", "w", stdin); int n; cin >> n; for(int i = 0; i < n; i++){ st[i].input(); } sort(st, st + n, cmp); for(int i = 0; i < n; i++){ cout << st[i].s << endl; } return 0; }