【蓝桥杯每日一题】3.8

embedded/2025/3/11 4:18:23/

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/embedded/171668.html

相关文章

loadash知识整理

1、_.isPlainObject(value) 参数 1. value _(*)_: 要检查的值。 返回 _(boolean)_: 如果 value 为一个普通对象&#xff0c;那么返回 true&#xff0c;否则返回 false。 例子 plain function Foo() { this.a 1; } _.isPlainObject(new Foo); // > false _.isPlainObjec…

第八课:性能优化与高并发处理方案

Node.js 作为一种基于事件驱动、非阻塞 I/O 模型的 JavaScript 运行环境&#xff0c;广泛应用于高并发、实时性强的应用开发。然而&#xff0c;随着业务需求的不断增长&#xff0c;如何在 Node.js 中高效地处理大量并发请求、优化性能&#xff0c;成为了开发者必须面对的重要课…

5c/c++内存管理

1. C/C内存分布 int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] "abcd";const char* pChar3 "abcd";int* ptr1 (int*)malloc(sizeof(int) * 4);i…

OCR图片识别原理

OCR&#xff08;光学字符识别&#xff09;技术实现图片文字提取的核心原理可分为以下几个关键步骤&#xff0c;结合后端开发视角的技术实现逻辑如下&#xff1a; 1. 图像预处理 预处理是提升识别准确率的核心环节&#xff0c;主要包含以下子步骤&#xff1a; 灰度化&#xff…

共绘智慧升级,看永洪科技助力由由集团起航智慧征途

在数字化洪流汹涌澎湃的当下&#xff0c;企业如何乘风破浪&#xff0c;把握转型升级的黄金机遇&#xff0c;已成为所有企业必须直面的时代命题。由由集团&#xff0c;作为房地产的领航者&#xff0c;始终以前瞻视野引领变革&#xff0c;坚决拥抱数字化浪潮&#xff0c;携手数字…

web—HTML

什么是web ●Web:全球广域网&#xff0c;也称为万维网(www World Wide Web),能够通过浏览器访问的网站。 在浏览器中呈现精美的网页。 1.网页由那几部分组成&#xff1f; >文字、图片、视频、音频、超链接&#xff0c;&#xff0c;&#xff0c; 2.我们看到的网页&#xf…

宝塔 Linux 计划任务中添加运行项目网站PHP任务-定时任务

一、指定php版运行&#xff0c; cd /www/wwwroot/www.xxx.com/ && /www/server/php/56/bin/php think timedtasks start >> /tmp/timedtasks.log 2>&1 二、不指定php版 cd /www/wwwroot/www.xxx.com/ && php think timedtasks start >> …

第五课:Express框架与RESTful API设计:技术实践与探索

在使用Node.js进行企业应用开发&#xff0c;常用的开发框架Express&#xff0c;其中的中间件、路由配置与参数解析、RESTful API核心技术尤为重要&#xff0c;本文将深入探讨它们在应用开发中的具体使用方法&#xff0c;最后通过Postman来对开发的接口进行测试。 一、Express中…