第十二届蓝桥杯省赛真题(C/C++大学B组)

目录

#A 空间

#B 卡片

#C 直线

#D 货物摆放

#E 路径

#F 时间显示

#G 砝码称重

#H 杨辉三角形

#I 双向排序

#J 括号序列


#A 空间

#include <bits/stdc++.h>
using namespace std;int main()
{cout<<256 * 1024 * 1024 / 4<<endl;return 0;
}

#B 卡片

#include <bits/stdc++.h>
using namespace std;//存储0-9
int arr[10];bool merge(int n)
{//数字n能否被拼成while(n > 0){if(--arr[n%10] < 0) return false;n /= 10;	} return true;
}int main()
{for(int i = 0;i < 10;i++)arr[i] = 2021;//遍历 for(int i = 1;i < 1000000;i++) if(!merge(i)) {cout<<i-1<<endl;break;}return 0;
}

#C 直线

#include <bits/stdc++.h>
using namespace std;const int X = 20, Y = 21;int link[X][Y][X][Y], ans;int main()
{for(int x1 = 0;x1 < X;x1++){for(int y1 = 0;y1 < Y;y1++){link[x1][y1][x1][y1] = 1;for(int x2 = 0;x2 < X;x2++){for(int y2 = 0;y2 < Y;y2++){// (x1,y1)->(x2,y2)if(!link[x1][y1][x2][y2]){int x = x1;int x_offset = x1 - x2;int y = y1;int y_offset = y1 - y2;while(x >= 0 && x < X && y >= 0 && y < Y){x -= x_offset;y -= y_offset;}//所有加上偏移量的点都会被访问,全部剔除for(x += x_offset,y += y_offset; x >= 0 && x < X && y >= 0 && y < Y;x += x_offset,y += y_offset){for(int xx = x,yy = y;xx >= 0 && xx < X && yy >= 0 && yy < Y;xx += x_offset,yy += y_offset){link[x][y][xx][yy] = link[xx][yy][x][y] = 1;}}ans++;}}}}}cout<<ans<<endl;return 0;
}

#D 货物摆放

#include <bits/stdc++.h>
using namespace std;typedef long long ll;
ll N = 2021041820210418;
ll ans = 0;
int main()
{set<ll> sets;//2021041820210418//求这个数字的全部因子for(ll i = 1;i * i <= N;i++){if(N % i == 0){sets.insert(i);sets.insert(N / i);}}//遍历因子for(set<ll>::iterator i = sets.begin(); i != sets.end();i++){for(set<ll>::iterator j = sets.begin(); j != sets.end();j++){for(set<ll>::iterator k = sets.begin(); k != sets.end();k++)if(*i * *j * *k == N) ans++;}}cout<<ans<<endl; return 0;
}

#E 路径

#include <bits/stdc++.h>
using namespace std;const int n = 2021;
int metric[n+1][n+1];int gcd(int a,int b)
{if(a % b == 0) return b;return gcd(b, a % b);
}
int lcm(int a,int b)
{return a * b / gcd(a,b);
}int main()
{//每条边都给最大值for(int i = 0;i <= n;i++)for(int j = 0;j <= n;j++)metric[i][j] = 99999999;//计算结点之间的长度for(int a = 1;a <= n;a++){for(int b = min(n,a+21);b > a;b--)metric[a][b] = metric[b][a] = lcm(a,b);}//弗洛伊德算法for(int k = 1;k <= n;k++)for(int i = 1;i <= n;i++)for(int j = 1;j <= n;j++)metric[i][j] = min(metric[i][j], metric[i][k] + metric[k][j]);cout<<metric[1][n]<<endl;return 0;
}

#F 时间显示

测试样例1

Input:
46800999Output:
13:00:00

测试样例2

Input:
1618708103123Output:
01:08:23
#include <bits/stdc++.h>
using namespace std;typedef long long ll;int main()
{ll n,second,minutes,hour;cin>>n;//时  分  秒n /= 1000;hour = (n / 60 / 60) % 24;minutes = (n / 60) % 60;second = n % 60;if(hour < 10) cout<<"0";cout<<hour<<":";if(minutes < 10) cout<<"0";cout<<minutes<<":";if(second < 10) cout<<"0";cout<<second;return 0;
}

#G 砝码称重

测试样例1

Input:
3
1 4 6Output:
10Explanation:
能称出的 10 种重量是:1、2、3、4、5、6、7、9、10、11。
1 = 1;
2 = 6 − 4 (天平一边放 6,另一边放 4);
3 = 4 − 1;
4 = 4;
5 = 6 − 1;
6 = 6;
7 = 1 + 6;
9 = 4 + 6 − 1;
10 = 4 + 6;
11 = 1 + 4 + 6。
#include <bits/stdc++.h>
using namespace std;typedef long long ll;
const int N = 100000+1;
/*定义一个二维数组,分为两行第一行用来存储可以被称出的重量,第j列表示的就是重量j第二行用来临时存放称出的重量,作为重量的中转站dp[i][j] == true时,表示重量j可以被称出dp[i][j] == false时,表示重量j不能被称出
*/
bool dp[2][N];int main()
{int n,w,sum = 0;cin>>n;for(int i = 0;i < n;i++){cin>>w;sum += w;//从重量1开始计算for(int j = 1;j <= sum;j++){if(dp[0][j]){dp[1][abs(w-j)] = true;dp[1][w+j] = true;}}//将第二行数据移动到第一行for(int j = 1;j <= sum;j++){if(dp[1][j]) dp[0][j] = true;}//当前砝码可以被称出 dp[0][w] = true;}int ans = 0;for(int i = 0;i <= sum;i++)if(dp[0][i]) ans++;cout<<ans<<endl;return 0;
}

#H 杨辉三角形

测试样例1

Input:
6Output:
13
#include <bits/stdc++.h>
using namespace std;typedef long long ll;
ll arr[45000];int main()
{ll n;cin>>n;if(n == 1) {cout<<1<<endl;return 0;}arr[0] = 1;ll count = 1;//从第二行开始for(int i = 1;i < 45000;i++){//从右向左移动 for(int j = i;j > 0;j--){arr[j] += arr[j-1];if(arr[j] == n){count += i - j + 1;cout<<count<<endl;return 0;}}count += (i + 1);} //如果某一行的第三列数值已经大于10亿了,说明在这之前都没有对应的数字,这个数字就只能出现在第二列中了 //递增数列求和即可 cout<<(1 + n)*n / 2 + 2<<endl;return 0;
}

#I 双向排序

测试样例1

Input:
3 3
0 3
1 2
0 2Output:
3 1 2Explanation:
原数列为 (1, 2, 3)。
第 1 步后为 (3, 2, 1)。
第 2 步后为 (3, 1, 2)。
第 3 步后为 (3, 1, 2)。与第 2 步操作后相同,因为前两个数已经是降序了。
#include <bits/stdc++.h>
using namespace std;const int N = 100000;
int arr[N];int main()
{int n,m,p,q;cin >>n>>m;for(int i = 0;i < n;i++)arr[i] = i + 1;for(int i = 0;i < m;i++){cin>>p>>q;if(p == 1){sort(arr+q-1,arr+n,less<int>());}else{sort(arr,arr+q,greater<int>());}}for(int i = 0;i < n;i++)cout<<arr[i]<<" ";return 0;
}

#J 括号序列

测试样例1

Input:
((()Output:
5

不会

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

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

相关文章

【spring】@Profile注解学习

Profile介绍 在Spring框架中&#xff0c;Profile注解用于根据特定的配置文件来有条件地激活或禁用Bean的定义。这在开发和测试过程中非常有用&#xff0c;因为它允许你为不同的环境&#xff08;如开发、测试、生产&#xff09;定义不同的配置。 Profile不仅可以标注在方法上&…

【MATLAB源码-第184期】基于matlab的FNN预测人民币美元汇率 输出预测图误差图RMSE R2 MAE MBE等指标

操作环境&#xff1a; MATLAB 2022a 1、算法描述 前馈神经网络&#xff08;Feedforward Neural Network, FNN&#xff09;是最简单也是应用最广泛的人工神经网络之一。在许多领域&#xff0c;尤其是数据预测方面&#xff0c;FNN已经展现出了卓越的性能和强大的适应性。 一、…

【论文速读】| MASTERKEY:大语言模型聊天机器人的自动化越狱

本次分享论文为&#xff1a;MASTERKEY: Automated Jailbreaking of Large Language Model Chatbots 基本信息 原文作者&#xff1a;Gelei Deng, Yi Liu, Yuekang Li, Kailong Wang, Ying Zhang, Zefeng Li, Haoyu Wang, Tianwei Zhang, Yang Liu 作者单位&#xff1a;南洋理工…

13 指针(上)

指针是 C 语言最重要的概念之一&#xff0c;也是最难理解的概念之一。 指针是C语言的精髓&#xff0c;要想掌握C语言就需要深入地了解指针。 指针类型在考研中用得最多的地方&#xff0c;就是和结构体结合起来构造结点(如链表的结点、二叉树的结点等)。 本章专题脉络 1、指针…

ht1622不显示无反应问题解决

如果你正在写ht1622 驱动时&#xff0c;怎么看程序都没问题&#xff0c;抓取波形&#xff0c;示波器分析波形&#xff0c;如果都没有问题&#xff0c;那么很大可能是硬件问题&#xff0c;检测看看 ht1622 RD是不是接地了。 RD 低会进入读取模式&#xff0c;所以不用RD 请将RD悬…

Harmony鸿蒙南向驱动开发-RTC

RTC&#xff08;real-time clock&#xff09;为操作系统中的实时时钟设备&#xff0c;为操作系统提供精准的实时时间和定时报警功能。当设备下电后&#xff0c;通过外置电池供电&#xff0c;RTC继续记录操作系统时间&#xff1b;设备上电后&#xff0c;RTC提供实时时钟给操作系…

pandas 给指定行赋值

pandas 赋值 在Pandas中&#xff0c;可以使用多种方式进行赋值操作。以下是一些常见的赋值操作示例&#xff1a; 给单个元格赋值&#xff1a; import pandas as pd df pd.DataFrame({‘A’: [1, 2, 3], ‘B’: [4, 5, 6]}) df.at[0, ‘A’] 100 # 给第一行"A"列…

Java 判断日期是否为工作日

import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; //判断日期是否是工作日&#xff08;0 上班 1周末 2节假日&#xff09; SimpleDateFormat fnew SimpleDateForm…

Python:如何对FY3D TSHS的数据集进行重投影并输出为TIFF文件以及批量镶嵌插值?

完整代码见 Github&#xff1a;https://github.com/ChaoQiezi/read_fy3d_tshs&#xff0c;由于代码中注释较为详细&#xff0c;因此博客中部分操作一笔带过。 01 FY3D的HDF转TIFF 1.1 数据集说明 FY3D TSHS数据集是二级产品(TSHS即MWTS/MWHS 融合大气温湿度廓线/稳定度指数/…

【Vue】组件

在Vue.js中&#xff0c;组件是可复用的Vue实例&#xff0c;它可以封装特定的功能和界面&#xff0c;并能在应用程序中多次使用。组件允许您将应用程序拆分为多个小的、独立的部分&#xff0c;每个部分都有自己的模板、逻辑和样式。 之前处理多个用户数据时&#xff0c;每个用户…

第十一届蓝桥杯省赛真题(C/C++大学B组)

试题A &#xff1a;门牌制作 #include <bits/stdc.h> using namespace std;const int N 100000; int arr[N];int main() {int ans 0,t;for(int i 1;i < 2020;i){t i;while(t > 0){if(t % 10 2) ans;t / 10;}}cout<<ans<<endl;return 0; } 试题B …

Harmony鸿蒙南向驱动开发-MMC

MMC&#xff08;MultiMedia Card&#xff09;即多媒体卡&#xff0c;是一种用于固态非易失性存储的小体积大容量的快闪存储卡。 MMC后续泛指一个接口协定&#xff08;一种卡式&#xff09;&#xff0c;能符合这种接口的内存器都可称作MMC储存体。主要包括几个部分&#xff1a;…

什么是iframe?请讲述一下iframe框架的优缺点?

iframe是HTML中的一个标签&#xff0c;全称为inline frame&#xff0c;即内联框架。它可以在网页中嵌入其他页面或文档&#xff0c;将其他页面的内容以框架的形式展示在当前页面中。iframe的使用方式是通过在HTML文档中插入iframe标签&#xff0c;并设置相应属性来指定要嵌入的…

zsh安裝教程

安裝zsh&#xff1a; 你可以使用包管理器來安裝zsh。例如&#xff0c;在Debian/Ubuntu系統上&#xff0c;你可以運行以下命令&#xff1a; sudo apt-get install zsh在Fedora系統上&#xff0c;你可以運行以下命令&#xff1a; sudo dnf install zsh在macOS上&#xff0c;你可以…

[lesson17]对象的构造(上)

对象的构造(上) 对象的初始化 从程序设计的角度&#xff0c;对象只是变量&#xff0c;因此&#xff1a; 在栈上常见对象时&#xff0c;成员变量初始为随机值在堆上创建对象时&#xff0c;成员变量初始为随机值在静态存储区创建对象时&#xff0c;成员变量初始为0值 生活中的对…

PyTorch学习之:高级神经网络模型和技术

CNN的构建和应用 构建和应用卷积神经网络&#xff08;CNN&#xff09;进行图像分类是深度学习中的一个核心任务。这个过程涉及到定义网络架构、数据准备、模型训练、评估和应用等多个步骤。下面&#xff0c;我将详细解释这些步骤&#xff1a; 1. 定义CNN架构 CNN通常包含以下…

[Java基础揉碎]Arrays类

目录 Arrays常见方法 1) toString返回数组的字符串形式 Arrays.toString(arr) 2) sort 排序(自然排序和定制排序) Integer arr[] {1,-1,7,0,89}; 定制排序 查看源码 冒泡排序 3) binarySearch 通过二分搜索法进行查找下标&#xff0c;要求必须排好序 int index Arra…

【MATLAB源码-第29期】基于matlab的MIMO,MISO,SIMO,SISO瑞利rayleigh信道容量对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. SISO&#xff08;单输入单输出&#xff09;&#xff1a; - SISO 是指在通信系统中&#xff0c;只有一个天线用于传输信号&#xff0c;也只有一个天线用于接收信号的情况。这是最简单的通信方式。 2. SIMO&#xff08;单…

2024年河北省职业院校技能大赛高职组“信息安全管理与评估”赛项样题

培训、环境、资料、考证 公众号&#xff1a;Geek极安云科 网络安全群&#xff1a;775454947 网络系统管理群&#xff1a;223627079 网络建设与运维群&#xff1a;870959784 极安云科专注于技能提升&#xff0c;赋能 2024年广东省高校的技能提升&#xff0c;受赋能的客户院校均…

网络基础三——其他周边问题

3.1ARP原理 ​ ARP不是一个单纯的数据链路层的协议&#xff0c;而是一个介于数据链路层和网络层之间的协议&#xff1b; ​ 以广播的形式(主机号填成全1)构建Mac帧&#xff0c;发送ARP请求包&#xff0c;告诉所有在局域网的主机我的IP地址和Mac帧&#xff0c;与目的IP相同的主…