news 2026/7/10 15:19:02

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
P10901 [蓝桥杯 2024 省 C] 封闭图形个数

思路:用一个数组存放每个数字对应的封闭图形数,输入N,用数组存放,对数组进行冒泡排序之后,然后输出数据。

问题:

1.冒泡排序不会

2.修改后只能过%50样例

解决:

1.冒泡排序,逻辑是先两两比较,保证最后一个数一定是有序的;至少要比较n-1次得到n-1个有序数字,第一个数字一定是有序的。因为有j+1,所以第一次循环只需要循环到n-1,第二次只需要循环到n-2,所以j的范围是1到n-i。

2.sort排序。

代码一

#include <bits/stdc++.h> using namespace std; #define int long long int b[10]={1,0,0,0,1,0,1,0,2,1}; int check(int a) { string s=to_string(a); int sum=0; for(int i=0;i<s.size();i++) { sum+=b[s[i]-'0']; } return sum; } bool is(int a,int c) { int m1=check(a); int m2=check(c); if(m1>m2) { return true; } else if(m1==m2) { if(a>c) { return true; } else { return false; } } return false; } signed main() { int n; cin>>n; int a[n+2]={0}; for(int i=1;i<=n;i++) { cin>>a[i]; } for(int i=1;i<=n-1;i++) { for(int j=1;j<=n-i;j++) { int temp=0; if(is(a[j],a[j+1])) { temp=a[j+1]; a[j+1]=a[j]; a[j]=temp; } } } for(int i=1;i<=n;i++) { cout<<a[i]<<' '; } return 0; }

代码二

#include <bits/stdc++.h> using namespace std; #define int long long int b[10]={1,0,0,0,1,0,1,0,2,1}; int check(int a) { string s=to_string(a); int sum=0; for(int i=0;i<s.size();i++) { sum+=b[s[i]-'0']; } return sum; } bool cmp(int a,int b) { int na=check(a); int nb=check(b); if(na!=nb) return na<nb; return a<b; } signed main() { int n; cin>>n; int a[n+2]={0}; for(int i=1;i<=n;i++) { cin>>a[i]; } sort(a+1,a+n+1,cmp); for(int i=1;i<=n;i++) { cout<<a[i]<<' '; } return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 13:29:31

Windows系统下MacBook Pro Touch Bar终极解锁指南

还在为Windows系统下Touch Bar只能当普通功能键使用而烦恼吗&#xff1f;那个在macOS中灵动多彩的触摸条&#xff0c;在Windows中却变得"默默无闻"&#xff1f;别担心&#xff0c;今天就来彻底解决这个困扰无数MacBook Pro用户的技术难题&#xff01; 【免费下载链接…

作者头像 李华
网站建设 2026/7/9 21:18:32

16、精确可预测性的代数结构与洛伦兹协变性

精确可预测性的代数结构与洛伦兹协变性 1. 精确可预测性的最终代数 在特定假设下,我们可以证明相关算子导数的存在性。具体而言,在假设 (5.1.1) 下,某些表达式的右侧会收敛到 0(在所有 $\psi c^{m - e^2}$ 的弗雷歇范数下)。这意味着 $t$ - 导数 $\dot{A} {\tau t}$ 在…

作者头像 李华
网站建设 2026/7/10 7:46:50

如何快速提升GitHub下载速度:免费浏览器插件的终极指南

如何快速提升GitHub下载速度&#xff1a;免费浏览器插件的终极指南 【免费下载链接】Fast-GitHub 国内Github下载很慢&#xff0c;用上了这个插件后&#xff0c;下载速度嗖嗖嗖的~&#xff01; 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 还在为GitHub下…

作者头像 李华
网站建设 2026/7/9 19:45:23

5分钟精通ParquetViewer:零基础玩转数据可视化分析

5分钟精通ParquetViewer&#xff1a;零基础玩转数据可视化分析 【免费下载链接】ParquetViewer Simple windows desktop application for viewing & querying Apache Parquet files 项目地址: https://gitcode.com/gh_mirrors/pa/ParquetViewer 想要快速分析海量数据…

作者头像 李华
网站建设 2026/7/10 7:45:18

视频硬字幕提取技术深度剖析:从水印干扰到精准识别的完整解决方案

在当今视频内容爆炸式增长的时代&#xff0c;视频硬字幕提取技术正成为内容翻译、无障碍观影和视频检索等场景的关键支撑。然而&#xff0c;水印干扰和场景文本误识别一直是困扰开发者的技术难题。本文将带您深入探索视频字幕提取的核心技术&#xff0c;揭示如何通过智能算法实…

作者头像 李华
网站建设 2026/7/9 12:07:37

DROP DELETE 和TRUNCATE的区别?

删除操作的定义与用途DROP 用于删除整个数据库对象&#xff08;如表、视图、索引等&#xff09;&#xff0c;包括其结构和数据。DELETE 用于删除表中的特定行数据&#xff0c;保留表结构。TRUNCATE 用于快速删除表中所有数据&#xff0c;保留表结构并重置自增计数器。事务与日志…

作者头像 李华