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

相关推荐
YH55269843 小时前
GPT‑5.6 Sol 原本支持 1M 上下文,Codex 现已放开此前限制,如何看待这次调整?
java·jvm·人工智能·gpt·算法·chatgpt
遥感知识服务4 小时前
从局部阈值、双极化到暗地表剔除:NASA OPERA DSWx-S1全球动态水体算法拆解
大数据·人工智能·深度学习·神经网络·算法·机器学习
晚风醉蝶4 小时前
1-13-TimSort
算法
ZJU_统一阿萨姆4 小时前
【算子开发】算子融合与Softmax_LayerNorm实现
人工智能·算法·语言模型·硬件架构
叩码以求索6 小时前
浅谈:前序遍历反转法求解N叉树的后序遍历
算法
官乐7 小时前
AI面试指南(多agent开发流程)
人工智能·面试·职场和发展
北风toto8 小时前
中缀、前缀、后缀表达式
算法·软件设计师
程序员三藏8 小时前
自动化测试用例编写详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
听取WA声一片(无恶意)8 小时前
CSP-J/CSP-S 深度优先搜索(DFS)完全讲义
c++·算法·深度优先
跟我一起学测试呀8 小时前
软件测试面试总结,备战金九银十
面试·职场和发展