侧边栏壁纸
  • 累计撰写 192 篇文章
  • 累计创建 2 个标签
  • 累计收到 87 条评论

【题解】01排序

Allen Best
2023-07-15 / 0 评论 / 1 点赞 / 111 阅读 / 454 字
温馨提示:
本文最后更新于 2023-07-15,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
#define N 10001
using namespace std;
int n;
string a[105];
bool rule(string x,string y){
	int lx=x.size(),ly=y.size();
	int ox=0,oy=0;
	for(int i=0;i<lx;i++) ox+=x[i]-48;
	for(int i=0;i<ly;i++) oy+=y[i]-48;
	return lx<ly||lx==ly&&ox<oy||lx==ly&&ox==oy&&x<y;
} 
int main(){
	cin>>n;
	for(int i=0;i<n;i++) cin>>a[i];
	sort(a,a+n,rule);
	for(int i=0;i<n;i++) cout<<a[i]<<endl;
	return 0;
}
0

评论区