Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
110288 | 陈志轩 | 01串排序 | C++ | 解答错误 | 50 | 3 MS | 4732 KB | 548 | 2023-11-14 13:09:44 |
#include<bits/stdc++.h> using namespace std; struct P{ string s; int sum,leng; }a[114514]; bool cmp(P a,P b){ if (a.leng == b.leng){ if (a.sum == b.sum){ return a.s > b.s; } return a.sum < b.sum; } return a.leng < b.leng; } int main(){ int n; cin>>n; for (int i = 1;i <= n;i++){ cin>>a[i].s; a[i].leng = a[i].s.size(); for (int j = 0;j < a[i].leng;j++){ a[i].sum += (a[i].s[j] == '1'); } } sort(a + 1,a + n + 1,cmp); for (int i = 1;i <= n;i++){ cout<<a[i].s<<'\n'; } return 0; }