AcWing 5992. 封闭图形个数清新简单
原题链接
简单
作者:
猫面包
,
2025-03-24 20:29:27
·河北
,
所有人可见
,
阅读 6
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int P=1e9+7;
const int N=2e5+9;
int a[N];
int num[]={1,0,0,0,1,0,1,0,2,1};
bool cmp(int x,int y)
{
int res1=0,res2=0;
int s1=x,s2=y;
while(s1)
{
res1+=num[s1%10];
s1/=10;
}
while(s2)
{
res2+=num[s2%10];
s2/=10;
}
if(res1!=res2) return res1<res2;
return x<y;
}
void solve()
{
int n;cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+1+n);
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;i++) cout<<a[i]<<" \n"[i==n];
}
signed main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
solve();
}