第十一届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组

第十一届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组

文章目录

  • 第十一届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
    • 1、字串排序
    • 2、门牌制作
    • 3、既约分数
    • 4、蛇形填数
    • 5、跑步锻炼
    • 6、七段码
    • 7、成绩统计
    • 8、回文日期
    • 9、子串分值和
    • 10、平面切分

1、字串排序

在这里插入图片描述
在这里插入图片描述

// 转载博客链接
https://blog.csdn.net/weixin_46266058/article/details/123469287

2、门牌制作

在这里插入图片描述

#include<iostream>#define ll long long
using namespace std;
int ans;
void getsi(int x){while(x){int t=x%10;if(t==2)ans++;x/=10;}
}
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);for(int i=1;i<=2020;i++){getsi(i);}cout<<ans;return 0;
}

3、既约分数

在这里插入图片描述
读懂题意,不然写完了才发现是错的。

#include<iostream>
#include<set>
#define ll long long
using namespace std;
int gcd(int a,int b){if(a%b==0)return b;return gcd(b,a%b);
}
int ans;
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);for(int i=1;i<=2020;i++)for(int j=1;j<=2020;j++){//if(i==j)continue;if(gcd(i,j)==1)ans++;}cout<<ans;return 0;
}

4、蛇形填数

在这里插入图片描述

#include<iostream>
using namespace std;
const int N = 40; 
int arr[N][N];
int main(){int r = 1;for(int i=1;i<=N;i++){if(i&1){for(int x=i,y=1;x>=1&&y<=i;x--,y++){arr[x][y]=r++;}	}else{for(int y=i,x=1;y>=1&&x<=i;y--,x++){arr[x][y]=r++;}}}cout<<arr[20][20];	return 0;
}

5、跑步锻炼

在这里插入图片描述

#include<iostream>
using namespace std;
int ans;
int main(){int month[] = {0,31,29,31,30,31,30,31,31,30,31,30,31};int num = 0;//总共过了多少天,%7求周一for(int i=2000;i<=2020;i++){if(i%100==0||(i%4==0&&i%100!=0))month[2]=29;else month[2]=28;for(int j=1;j<=12;j++){for(int k=1;k<=month[j];k++){// num%7 对应 0~6所以等于2的时候就是周一,k==1 表示初一 if(k==1||num%7==2){ans+=2;}else{ans+=1;}num++;if(i==2020&&j==10&&k==1){cout<<ans;return 0;}}}}return 0;
}

6、七段码

在这里插入图片描述

图的建立,并查集,搜索。

#include<bits/stdc++.h>
using namespace std;
const int N = 10;
int use[N], ans, e[N][N], fa[N];
void init(){/*	连边建图,e[i][j] == 1表示第i段和第j段灯管相邻a b c d e f g1 2 3 4 5 6 7*/e[1][2]=e[1][6]=1;e[2][1]=e[2][3]=e[2][7]=1;e[3][2]=e[3][7]=e[3][4]=1;e[4][3]=e[4][5]=1;e[5][4]=e[5][7]=e[5][6]=1;e[6][1]=e[6][5]=e[6][7]=1;e[7][2]=e[7][3]=e[7][5]=e[7][6]=1;
}
int find(int x){return x==fa[x] ? x : (fa[x]=find(fa[x]));
}
void dfs(int d){if(d > 7){/* 并查集判是否在同一集合 */for(int i = 1;i <= 7;i++)fa[i] = i;//初始化父亲集合for(int i = 1;i <= 7;i++)for(int j = 1;j <= 7;j++)if(e[i][j] && use[i] && use[j]){//i和j相邻并且都亮着int fx = find(i),fy = find(j);if(fx != fy)fa[fx] = fy;//如果不在同一集合,合并}int k = 0;for(int i = 1;i <= 7;i++)if(use[i] && fa[i] == i)k++;if(k == 1)ans++;//如果所有亮灯都属于同一个集合return;}use[d] = 1;//打开d这个灯,继续开关下一个灯dfs(d + 1);use[d] = 0;//关闭d这个灯,继续开关下一个灯dfs(d + 1);
}
int main(){init();dfs(1);cout << ans;
}

7、成绩统计

在这里插入图片描述
在这里插入图片描述

#include<iostream>
#include<stdio.h>
#define ll long long
using namespace std;
const int N = 1e5+10;
int n,a[N];
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n;for(int i=1;i<=n;i++)cin>>a[i];int x=0,b=0;for(int i=1;i<=n;i++){if(a[i]>=60)x++;if(a[i]>=85)b++;}int a1=x*1000/n;int t1=a1%10;if(t1>=5)a1=a1/10+1;else a1=a1/10;int a2=b*1000/n;int t2=a2%10;if(t2>=5)a2=a2/10+1;else a2=a2/10;printf("%d%\n%d%\n",a1,a2);return 0;
}

8、回文日期

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

题这么长吓我一跳,没想到挺简单的。。。。

#include<iostream>
#define ll long long
using namespace std;
int t1,t2,y1,y2,m1,m2,d1,d2,ans;
int d[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
bool isy(int x){return x%400==0||(x%4==0&&x%100!=0);
}
bool isRve(int y,int m,int d){int a[]={y/1000,y/100%10,y/10%10,y%10,m/10,m%10,d/10,d%10};for(int i=0;i<4;i++){if(a[i]!=a[7-i])return false;}return true;
} 
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>t1>>t2;y1=t1/10000,y2=t2/10000;m1=t1%10000/100,m2=t2%10000/100;d1=t1-y1*10000-m1*100,d2=t2-y2*10000-m2*100;
//	cout<<y1<<" "<<m1<<" "<<d1<<endl;
//	cout<<y2<<" "<<m2<<" "<<d2;for(int year=y1;year<=y2;year++){for(int mon=(year==y1?m1:1);mon<=(year==y2?m2:12);mon++){int maxday=(mon==2&&isy(year))?29:d[mon];for(int day=(year==y1&&mon==m1?d1:1);day<=(year==y2&&mon==m2?d2:maxday);day++){if(isRve(year,mon,day)){ans++;}}}}cout<<ans;return 0;
}

9、子串分值和

在这里插入图片描述
在这里插入图片描述

直接暴力枚举,只能过40%。。。。

#include<iostream>
#include<set>
#define ll long long
using namespace std;
string s;
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>s;int n=s.size();set<char> st;int ans=0;for(int i=0;i<n;i++){for(int j=i;j<n;j++){for(int k=i;k<=j;k++){st.insert(s[k]);	}		ans+=st.size();st.clear();}}cout<<ans;return 0;
}

10、平面切分

在这里插入图片描述
在这里插入图片描述

骗了10%。。。。

#include<iostream>
using namespace std;
int main(){int n;cin>>n;int a,b;for(int i=0;i<n;i++)cin>>a>>b;int ans=0;switch(n){case 0:ans=1;break;case 1:ans=2;break;case 2:ans=4;break;case 3:ans=7;break;case 4:ans=11;break;}cout<<ans;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/304275.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[leetcode]remove-duplicates-from-sorted-list-ii

. - 力扣&#xff08;LeetCode&#xff09; 给定一个已排序的链表的头 head &#xff0c; 删除原始链表中所有重复数字的节点&#xff0c;只留下不同的数字 。返回 已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,3,4,4,5] 输出&#xff1a;[1,2,5]示例 2&…

SVN的介绍

首先SVN是什么&#xff1a; Apache下的一个开源的项目Subversion&#xff0c;通常缩写为 SVN&#xff0c;是一个版本控制系统。 版本控制系统是一个软件&#xff0c;它可以伴随我们软件开发人员一起工作&#xff0c;让我们编写代码的完整的历史保存下来。 目前它的各个版本的…

【mT5多语言翻译】之五——训练:中央日志、训练可视化、PEFT微调

请参考本系列目录&#xff1a;【mT5多语言翻译】之一——实战项目总览 [1] 模型训练与验证 在上一篇实战博客中&#xff0c;我们讲解了访问数据集中每个batch数据的方法。接下来我们介绍如何训练mT5模型进行多语言翻译微调。 首先加载模型&#xff0c;并把模型设置为训练状态&a…

STL库 —— list 的编写

目录 一、成员变量 ​编辑 二、push_back 函数 三、迭代器 iterator 3.1 iterator 结构体 3.2 begin() 与 end() 函数 3.3 iterator 运算符重载 3.4 -> 的重载 3.5 const_iterator 四、测试代码 五、修饰符成员 5.1 insert 函数 5.2 erase 函数 5.3 push 函数…

机器学习和深度学习-- 李宏毅(笔记与个人理解)Day10

Day 10 Genaral GUidance training Loss 不够的case Loss on Testing data over fitting 为什么over fitting 留到下下周哦~~ 期待 solve CNN卷积神经网络 Bias-Conplexiy Trade off cross Validation how to split? N-fold Cross Validation mismatch 这节课总体听下来比较…

lovesql 手工sql注入

1.页面 2.万能密码登录成功 我还傻乎乎的以为密码就是flag 但不是 3. 继续注入 判断列数 确定了只有三列 开始尝试联合注入 4.使用联合注入之前先判断显示位 5.之后一步一步的构造&#xff0c;先得到当前数据库名 利用database&#xff08;&#xff09; 再得到库里有哪些表 …

Vue+el-table 修改表格 单元格横线边框颜色及表格空数据时边框颜色

需求 目前 找到对应的css样式进行修改 修改后 css样式 >>>.el-table th.el-table__cell.is-leaf {border-bottom: 1px solid #444B5F !important;}>>>.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf {border-bottom: 1px solid #444B5F …

目标检测——3D车道数据集

一、重要性及意义 3D车道检测在自动驾驶和智能交通领域具有极其重要的地位&#xff0c;其重要性和意义主要体现在以下几个方面&#xff1a; 首先&#xff0c;3D车道检测可以精确判断车辆在道路上的位置、方向和速度&#xff0c;从而预测潜在的危险情况并及时采取措施。这种能…

如何在极狐GitLab 启用依赖代理功能

本文作者&#xff1a;徐晓伟 GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 本文主要讲述了如何在[极狐GitLab…

UDP实现Mini版在线聊天室

实现原理 只有当客户端先对服务器发送online消息的时候&#xff0c;服务器才会把客户端加入到在线列表。当在线列表的用户发消息的时候&#xff0c;服务器会把消息广播给在线列表中的所有用户。而当用户输入offline时&#xff0c;表明自己要下线了&#xff0c;此时服务器把该用…

【软件测试】个人博客系统测试

个人博客系统测试 一、项目背景1.1 技术背景1.2 功能背景 二、自动化测试2.1 什么是自动化测试2.2 通过使用selenium进行自动化测试的编写&#xff08;Java实现&#xff09;2.3 编写测试用例&#xff0c;执行自动化测试2.3.1 输入用户名:test,密码:123&#xff0c;登录成功2.3.…

云服务器上Docker启动的MySQL会自动删除数据库的问题

一、问题说明 除了常见的情况&#xff0c;例如没有实现数据挂载&#xff0c;导致数据丢失外&#xff0c;还需要考虑数据库是否被攻击&#xff0c;下图 REVOVER_YOUR_DATA 就代表被勒索了&#xff0c;这种情况通常是数据库端口使用了默认端口&#xff08;3306&#xff09;且密码…

jmeter实验 模拟:从CSV数据到加密请求到解密返回数据再到跨越线程组访问解密后的数据

注意,本实验所说的加密只是模拟加密解密,您需要届时写自己的加解密算法或者引用含有加密算法的相关jar包才行. 思路: 线程组1: 1.从CSV文件读取原始数据 2.将读取到的数据用BeanShell预习处理器进行加密 3.HTTP提取器使用加密后的数据发起请求 4.使用BeanShell后置处理器…

vite+react+ts+scss 创建项目

npm create vitelatest输入项目名称选择react选择typescript swc WC 通过利用 Rust 编写的编译器&#xff0c;使用了更先进的优化技术&#xff0c;使得它在处理 TypeScript 代码时能够更快地进行转换和编译。特别是在大型项目中&#xff0c;SWC 相对于传统的 TypeScript 编译器…

使用QT 开发不规则窗体

使用QT 开发不规则窗体 不规则窗体贴图法的不规则窗体创建UI模板创建一个父类创建业务窗体main函数直接调用user_dialog创建QSS文件 完整的QT工程 不规则窗体 QT中开发不规则窗体有两种方法&#xff1a;&#xff08;1&#xff09;第一种方法&#xff0c;使用QWidget::setMask函…

跨域问题一文解决

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;Vue ⛺️稳中求进&#xff0c;晒太阳 一、为什么会出现跨域的问题&#xff1f; 是浏览器的同源策略&#xff0c;跨域也是因为浏览器这个机制引起的&#xff0c;这个机制的存在还是在于安全…

FFmpeg: 简易ijkplayer播放器实现--01项目简介

文章目录 项目介绍流程图播放器实现过程界面展示 项目介绍 此项目基于FFmeg中 ffplay.c进行二次开发&#xff0c;实现基本的功能&#xff0c;开发软件为Qt 项目优势&#xff1a; 参考ijkplayer播放器&#xff0c;实现UI界面和播放器核心进行解耦&#xff0c;容易添加其他功能…

机器学习和深度学习 -- 李宏毅(笔记与个人理解1-6)

机器学习和深度学习教程 – 李宏毅&#xff08;笔记与个人理解&#xff09; day1 课程内容 什么是机器学习 找函数关键技术&#xff08;深度学习&#xff09; 函数 – 类神经网络来表示 &#xff1b;输入输出可以是 向量或者矩阵等如何找到函数&#xff1a; supervised Lear…

SSRF靶场

SSRF概述 ​ 强制服务器发送一个攻击者的请求 ​ 互联网上的很多web应用提供了从其他服务器&#xff08;也可以是本地)获取数据的功能。使用用户指定的URL&#xff0c;web应用可以获取图片&#xff08;载入图片&#xff09;、文件资源&#xff08;下载或读取)。如下图所示&…

C语言面试题之返回倒数第 k 个节点

返回倒数第 k 个节点 实例要求 1、实现一种算法&#xff0c;找出单向链表中倒数第 k 个节点&#xff1b;2、返回该节点的值&#xff1b; 示例&#xff1a;输入&#xff1a; 1->2->3->4->5 和 k 2 输出&#xff1a; 4 说明&#xff1a;给定的 k 保证是有效的。实…