洛谷P10901 [蓝桥杯 2024 省 C] 封闭图形个数

复制代码
#include<bits/stdc++.h>

using namespace std;

const int N=200010;

int a[N];
int b[N];
pair<int, int >p[N];
int num[10]={1,0,0,0,1,0,1,0,2,1};
	
int pd(int n){
	int sum=0;
	while(n){
			int x=n%10;
			sum+=num[x];
		n/=10;
	}
	return sum;
	
}

int cmp(pair<int,int>a,pair<int,int>b){
	if(a.second!=b.second)return a.second<b.second;
	else return a.first<b.first;
}


int main(){									
	int n;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>p[i].first;
		p[i].second=pd(p[i].first);	
}
	sort(p,p+n,cmp);
	for(int i=0;i<n;i++){
		cout<<p[i].first<<" ";
		
	}
	return 0;
}

学习了一下对于的pair的first,second利用sort中的自定义cmp,根据题目先对second进行排序,就是对每个数字的封闭图案数量进行排序,相同再对数字大小进行排序。num数组对0-9每个数字进行映射。

相关推荐
做运维的阿瑞4 小时前
Python零基础入门:30分钟掌握核心语法与实战应用
开发语言·后端·python·算法·系统架构
weixin_307779135 小时前
Redshift SQL搜索表中所有字段的值
数据仓库·sql·算法·云计算·aws
十八岁讨厌编程7 小时前
【算法训练营Day26】动态规划part2
算法·动态规划
智者知已应修善业8 小时前
【C++无数组矩阵对角线平均值保留2位小数】2022-11-18
c语言·c++·经验分享·笔记·算法·矩阵
papership9 小时前
【入门级-算法-6、排序算法: 计数排序】
数据结构·算法·排序算法
pengpeng029 小时前
力扣每日一题 611. 有效三角形的个数
算法·leetcode·职场和发展
2401_840105209 小时前
GESP C++5级 2025年6月编程2题解:最大公因数
数据结构·c++·算法
未知陨落9 小时前
LeetCode:56.子集
算法·leetcode·深度优先
PAK向日葵9 小时前
【算法导论】一道涉及到溢出处理的笔试题
算法·面试
清***鞋9 小时前
转行AI产品如何准备面试
人工智能·面试·职场和发展