洛谷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每个数字进行映射。

相关推荐
小e说说2 分钟前
打破偏科困境:这些学习软件助孩子重燃学习热情
算法
我命由我123452 分钟前
程序员的心理学学习笔记 - 空杯心态
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法
月昤昽1 小时前
autoCAD二次开发 4.正多边形与collection区分
算法·c#·二次开发·autocad二次开发
休息一下接着来1 小时前
C++ 固定容量环形队列实现
c++·算法
im_AMBER1 小时前
手撕hot100之矩阵!看完这篇就AC~
javascript·数据结构·线性代数·算法·leetcode·矩阵
笨笨饿2 小时前
#79_NOP()嵌入式C语言中内联汇编宏的抽象封装模式研究
linux·c语言·网络·驱动开发·算法·硬件工程·个人开发
风萧萧19992 小时前
问答样例如何在RAG问答中使用?
算法
七夜zippoe2 小时前
DolphinDB分区策略:HASH分区与COMPO分区
算法·哈希算法·hash·dolphindb·compo
沪漂阿龙3 小时前
程序员面试技术爆款文:2026大厂算法通关手册——从零基础到LeetCode刷穿,这一篇就够了
算法·leetcode·面试
rit84324994 小时前
基于博弈论的小区分簇算法MATLAB实现
开发语言·算法·matlab