【蓝桥杯每日一题】3.8

ops/2025/3/15 7:59:49/

Alt

🏝️专栏: 【蓝桥杯备篇】
🌅主页: f狐o狸x


        抱一丝各位,前面两个月生了一场重病没有更新,懒病太严重了,从现在开始接着这个专题更新

每天刷一题,头发少一根;但若放弃治疗,头发掉一吨!—— 秃头警告,但坚持就是胜利 

3.8

一、P1067 [NOIP 2009 普及组] 多项式输出

        链接: [NOIP 2009 普及组] 多项式输出

        题目描述:

         解题思路:

        这道题属于模拟题,考察你的代码能力,题目要求啥你就弄哈就OK了

        解题代码:

#include <iostream>
#include <cmath>using namespace std;int main()
{int n = 0;cin >> n;for(int i = n; i >= 0; i--){int a = 0; cin >> a;if(a == 0) continue;// 1.符号 if(a < 0)cout << "-";else if(a > 0){if(i != n)cout << "+";}// 2.数字  a = abs(a);if( a > 1 || (a == 1 && i == 0) )cout << a;// 3.xif( i > 1){cout << "x^" << i;}else if( i == 1)cout << "x";}return 0;} 

二、P5731 【深基5.习6】蛇形方阵

        题目链接:P5731 【深基5.习6】蛇形方阵

题目描述:

解题思路:

        这个题我们可以采用方向向量,如下图,因为是顺时针填充的,所以方向就是右、下、左、上,最后在按照题目意思,把越界的填充都改变方向,变成合法的填充就可以了

解题代码:

const int N = 10;// 定义方向向量
int dx[4] = { 0,1,0,-1 };
int dy[4] = { 1,0,-1,0 };int arr[N][N] = { 0 };int main()
{int n = 0; cin >> n;// 起始位置int x = 1;int y = 1;int pos = 0;for (int i = 1; i <= n * n; i++){arr[x][y] = i;int a = 1, b = 1;a = x + dx[pos];b = y + dy[pos];if (a < 1 || a > n || b < 1 || b > n || arr[a][b]){pos = (pos + 1) % 4;a = x + dx[pos];b = y + dy[pos];}x = a;y = b;}for (int i = 1; i <= n; i++){for (int j = 1; j <= n; j++){printf("%3d", arr[i][j]);}printf("\n");}return 0;
}

三、P1098 [NOIP 2007 提高组] 字符串的展开

题目链接:P1098 [NOIP 2007 提高组] 字符串的展开

题目描述:

解题思路:

        这题也是明显的模拟题,就按照题目描述的意思一步一步来,注意不要遗漏情况就可以了

解题代码:

string s;
string ret;int p1, p2, p3;
// 判断是否是小写字母
bool is_a(char ch)
{return ch >= 'a' && ch <= 'z';
}// 判断是否是数字
bool is_num(char ch)
{return ch >= '0' && ch <= '9';
}//增加函数
void add(char left, char right)
{string t;for (char ch = left + 1; ch < right; ch++){char tmp = ch;//处理p1if (p1 == 2 && is_a(ch) && is_a(right)){tmp -= 32;}else if (p1 == 3){tmp = '*';}//处理p2for (int i = 0; i < p2; i++){t += tmp;}}//处理p3if (p3 == 2){reverse(t.begin(), t.end());}ret += t;
}int main()
{cin >> p1 >> p2 >> p3 >> s;int l = s.size();// 遍历字符串,找‘-’for (int i = 0; i < l; i++){if (i == 0 || i == l - 1 || s[i] != '-') ret += s[i];else{//找到字符串判断是否能展开char left = s[i - 1];char right = s[i + 1];if (is_a(left) && is_a(right) && left < right ||is_num(left) && is_num(right) && left < right){add(left, right);}else ret += s[i];}}cout << ret;return 0;
}

        键盘敲响的不仅是算法,更是逆袭的节奏!!!各位加油!


http://www.ppmy.cn/ops/165884.html

相关文章

2025 AWS亚马逊云科技账户注册指南

2025 AWS亚马逊云科技账户注册指南 A Guide To Register a New account on AWS By JacksonML 0. AWS亚马逊云科技简介 Amazon Web Service(AWS) 即亚马逊云科技&#xff0c;其在全球Cloud Computing(云计算)市场占有最为重要的地位。 AWS连续13年被Gartner评为全球云计算的…

ECU BootLoader开发——Flash编程

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 简单&#xff0c;单纯&#xff0c;喜欢独处&#xff0c;独来独往&#xff0c;不易合同频过着接地气的生活…

MongoDB集合(表)自动创建机制

开发项目时&#xff0c;要整理上线涉及的表&#xff0c;MongoDB里新创建的表是不用整理发给运维的&#xff0c;因为代码中插入数据时&#xff0c;MongoDB会自动创建哦 MongoDB 中的集合&#xff08;表&#xff09;是在插入数据时自动创建的。当你第一次向一个不存在的集合插入…

vue-next-admin修改配置指南

目录 1.如何开启侧边栏logo 2.修改侧边栏顶部的logo与文字 3.修改侧边栏路由logo 4.浏览器标题栏图标与文字修改 5.修改侧边栏的背景颜色、顶部导航栏背景颜色、字体颜色、激活时颜色等 6.去除或添加修改右上方放大、信息、头像昵称&#xff08;登录获取之后存储进行修改图…

网络安全——SpringBoot配置文件明文加密

XTHS&#xff1a;第一步、XTHS&#xff1a;第二步、XTHS&#xff1a;第三步、XTHS&#xff1a;第四步 &#xff01;就可以实现了。&#xff08;但是前提&#xff0c;你要先对你的文本进行加密&#xff0c;然后按照ENC(加密文本)&#xff0c;放到配置文件中&#xff09; 一、前言…

自学网络安全(黑客技术)2025年 —90天学习计划

&#x1f91f; 基于入门网络安全/黑客打造的&#xff1a;&#x1f449;黑客&网络安全入门&进阶学习资源包 前言 什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“…

路由器配置命令

路由器配置命令 小明啊&#xff0c;你不是学计算机的嘛&#xff0c;叔叔家的路由器坏了&#xff0c;可以过来帮叔叔看看吗 命令可以用缩写&#xff0c;造就一堆容易造成歧义的缩写&#xff0c;比如add是address的缩写&#xff0c;sh是shutdown的缩写。 视图模式介绍 普通视…

Dask:Python高效并行计算利器

Dask&#xff1a;Python高效并行计算利器 Dask是一个开源的Python并行计算库&#xff0c;旨在扩展Python常用工具&#xff08;如NumPy、Pandas、Scikit-learn等&#xff09;的功能&#xff0c;使其能够处理更大规模的数据集和更复杂的计算任务。它通过动态任务调度和分布式计算…