ACM题解Day4 | Boring Non-Palindrome ,Mental Rotation ,so Easy

学习目标:

博主介绍: 27dCnc
专题 : 数据结构帮助小白快速入门算法
👍👍👍👍👍👍👍👍👍👍👍👍
☆*: .。. o(≧▽≦)o .。.:*☆

Github今日打卡
在这里插入图片描述

  • ACM题解

学习时间:

  • 周一至周五晚上 7 点—晚上9点
  • 周六上午 9 点-上午 11 点
  • 周日下午 3 点-下午 6 点

学习内容:

  1. Boring Non-Palindrome
  2. Mental Rotation
  3. so Easy

内容详细:

Boring Non-Palindrome

题目考点: 回文串 字符串 模拟

在这里插入图片描述

解题思路

  • 一给函数用于判断回文串
  • 如果是回文串则返回 true 如果不是返回 false
  • 根据题目要求模拟
    • 如果是回文串直接输出
    • 如果不是回文串 去掉尾部,然后反转相加输出

样例增加
在这里插入图片描述

详细代码:

#include<bits/stdc++.h>
#define Run 0
#define endl "\n"
#define N 100005
using unl = __int128_t;
using ll = long long;
using namespace  std;bool Palindrome(string s) {for (int  i = 0 ,k = s.size() - 1; i < s.size() / 2; i++,k--) {if(s[i] != s[k]) return false;}return true;
}void slove() {string s; cin >> s;if (Palindrome(s)) {cout << s << endl;} else {string t(s.begin(),s.end() - 1);reverse(s.begin(),s.end());cout << t + s << endl;}
}signed main() {cin.tie(0) -> ios::sync_with_stdio(0);cout.tie(0) -> ios::sync_with_stdio(0);#if Runint _;cin>>_;while(_--) slove();#elseslove();#endifreturn 0;
}

Mental Rotation

题目考点: 模拟 情况匹配

在这里插入图片描述

题目代码:

#include <bits/stdc++.h>using namespace std;
char a[1010][1010];
char aa[1010][1010];
int n;
void right()
{for(int i=0;i<n; i++){for(int j=0;j<n; j++){if(a[i][j]=='>')aa[j][n-1-i]='v';else if(a[i][j]=='<')aa[j][n-1-i]='^';else if(a[i][j]=='^')aa[j][n-1-i]='>';else if(a[i][j]=='.')aa[j][n-1-i]='.';else if(a[i][j]=='v')aa[j][n-1-i]='<';}}for(int i=0;i<n; i++){for(int j=0; j<n; j++){a[i][j]=aa[i][j];}}
}
int main()
{char s[110];cin>>n;getchar();cin>>s;for(int i=0; i<n; i++){for(int j=0; j<n; j++)cin>>a[i][j];}int l=0,r=0;for(int i=0; s[i]!='\0'; i++){if(s[i]=='L')l++;elser++;}/*这个用于判断旋转次数*/l=l%4;r=r%4;r=(r+4-l)%4;while(r--){right();}for(int i=0;i<n; i++){for(int j=0;j<n; j++){if(j==n-1)cout<<a[i][j]<<endl;elsecout<<a[i][j];}}return 0;
}

样例补充
在这里插入图片描述

详细代码

#include<bits/stdc++.h>
#define Run 0
#define endl "\n"
#define N 100005
using unl = __int128_t;
using ll = long long;
using namespace  std;
char str_[1005][105];
char str[1005][105];bool Palindrome(string s) {  //这个用于判断回文串,本题没有用for (int  i = 0 ,k = s.size() - 1; i < s.size() / 2; i++,k--) {if(s[i] != s[k]) return false;}return true;
}char Ttans(char str) { /*确定旋转后的*/switch (str){case '>': return 'v';case 'v': return '<';case '^': return '>';case '<': return '^';}return '.';
}void slove() {int n; string s; cin >> n >> s;int l = 0,r = 0;//注意s不是只有一个操作for (int i = 0; i < n; i++) {cin >> str[i];}/*最为难懂的地方*/for (int i = 0;s[i]; i++) {if (s[i] != 'R') l++;else r++; }r %= 4, l %= 4; //因为4下旋转就回到原状r = (r - l + 4) % 4; //确定是向左旋转还是向右旋转while (r --) { for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) str_[i][j] = Ttans(str[n - 1 - j][i]);}memcpy(str,str_,sizeof(str_)); // 将str_ 中的元素复制到 str}for (int i = 0; i < n; i++) cout << str[i] << endl;
}signed main() {cin.tie(0) -> ios::sync_with_stdio(0);cout.tie(0) -> ios::sync_with_stdio(0);#if Runint _;cin>>_;while(_--) slove();#elseslove();#endifreturn 0;
}

so Easy

题目考点: 数学 思维
在这里插入图片描述
解题思路
本题有两种方法,一个是将过程逆过来求解,另一个是根据矩阵的性质找规律。

方法一:

由于每次都操作了一行或者一列,先不管− 1 -1−1所在的行和列,将其他所有的行,所有的列,减去该行(列)最小的那个数。这样之后− 1 -1−1所在的行和列均变成了只操作该行和该列的次数,也会发现其他位置都是0 00,随便加上两个(非− 1 -1−1所在位置)就是答案

方法二:

可以发现这样一个规律:不管进行多少次操作,该矩阵中任取一个二元子矩阵,其两条对角线上的和相同,因此直接找到− 1 -1−1周围相邻的任意四个数,斜对角线求和再减去和− 1 -1−1在同一条对角线上那个数,即可求出答案

这个是基本思路但是详细代码放头歌里是错的,我表示不理解

代码

#include <iostream>
#include <algorithm>
using namespace std;
int a[1007][1007];
int n,r,c;int main(){cin>>n;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){cin>>a[i][j];if(a[i][j]==-1){r=i;c=j;}}if(r==1){if(c==n)printf("%d",a[r+1][c]+a[r][c-1]-a[r+1][c-1]);else printf("%d",a[r+1][c]+a[r][c+1]-a[r+1][c+1]);}else if(r==n){if(c==n)printf("%d",a[r-1][c]+a[r][c-1]-a[r-1][c-1]);else printf("%d",a[r-1][c]+a[r][c+1]-a[r-1][c+1]);}else if(c==1) printf("%d",a[r+1][c]+a[r][c+1]-a[r+1][c+1]);else if(c==n) printf("%d",a[r+1][c]+a[r][c-1]-a[r+1][c-1]);else printf("%d",a[r+1][c]+a[r][c-1]-a[r+1][c-1]);return 0;
}

其他代码

#include<bits/stdc++.h>
#define int long long 
using namespace std;
const int N=1005;int n,mp[N][N];signed main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n;int sx=1,sy=1;for(int i=1;i<=n;++i){for(int j=1;j<=n;++j){cin>>mp[i][j];if(mp[i][j]==-1){sx=i;sy=j;mp[i][j]=0;}}}for(int i=1;i<=n;++i){int mi=1e9; if(i==sx) continue; for(int j=1;j<=n;++j) mi=min(mi,mp[i][j]);for(int j=1;j<=n;++j) mp[i][j]-=mi;}for(int j=1;j<=n;++j){int mi=1e9; if(j==sy) continue;for(int i=1;i<=n;++i) if(sx!=i||sy!=j) mi=min(mi,mp[i][j]);for(int i=1;i<=n;++i) mp[i][j]-=mi;}int ans=max(mp[sx-1][sy],mp[sx+1][sy])+max(mp[sx][sy+1],mp[sx][sy-1]);cout<<ans<<"\n";return 0;
}

学习产出:

  • 技术笔记 2 遍
  • CSDN 技术博客 3 篇
  • 习的 vlog 视频 1 个

在这里插入图片描述

重磅消息:

GTP - 4 最新版接入服务他来了 点击链接即可查看详细

GTP - 4 搭建教程

🔥如果此文对你有帮助的话,欢迎💗关注、👍点赞、⭐收藏、✍️评论,支持一下博主~

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

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

相关文章

时间序列预测模型:ARIMA模型

1. ARIMA模型原理介绍 ARIMA模型&#xff0c;全称为自回归积分滑动平均模型&#xff08;Autoregressive Integrated Moving Average Model&#xff09;&#xff0c;是一种常用的时间序列预测方法。ARIMA模型通过对时间序列数据的差分化处理&#xff0c;使非平稳时间序列数据变…

鸿蒙系统优缺点,能否作为开发者选择

凡是都有对立面&#xff0c;就直接说说鸿蒙的优缺点吧。 鸿蒙的缺点&#xff1a; 鸿蒙是从2019年开始做出来的&#xff0c;那时候是套壳Android大家都知晓。从而导致大家不看鸿蒙系统&#xff0c;套壳Android就是多次一举。现在鸿蒙星河版已经是纯血鸿蒙&#xff0c;但是它的…

点亮代码之灯,程序员的夜与电脑

在科技的海洋里&#xff0c;程序员是那些驾驶着代码船只&#xff0c;穿梭于虚拟世界的探险家。他们手中的键盘是航行的舵&#xff0c;而那台始终不愿关闭的电脑&#xff0c;便是他们眼中永不熄灭的灯塔。有人说&#xff0c;程序员不喜欢关电脑&#xff0c;这究竟是为什么呢&…

SSM框架,spring-aop的学习

代理模式 二十三种设计模式中的一种&#xff0c;属于结构型模式。它的作用就是通过提供一个代理类&#xff0c;让我们在调用目标方法的时候&#xff0c;不再是直接对目标方法进行调用&#xff0c;而是通过代理类间接调用。让不属于目标方法核心逻辑的代码从目标方法中剥离出来…

PPT导出PDF时保持图像高清的方法

问题: 我们经常会发现&#xff0c;在PPT中插入的图片非常高清&#xff0c;但是通过PPT转换为PDF之后&#xff0c;图片就会出现不同程度的失真。 问题产生的原因: 这是因为Acrobat的PDF Maker在将PPT转换为PDF的时候&#xff0c;对PPT中的图片进行了压缩 Solution: 在PPT的…

博途PLC数值积分器(矩形梯形积分自由切换)

数值积分器的相关介绍,大家可以也可以参看下面几篇文章,链接如下: PLC算法系列数值积分器 https://rxxw-control.blog.csdn.net/article/details/128562853https://rxxw-control.blog.csdn.net/article/details/128562853SMART PLC 梯形和矩形积分 https://rxxw-control.…

【数据结构】18 二叉搜索树(查找,插入,删除)

定义 二叉搜索树也叫二叉排序树或者二叉查找树。它是一种对排序和查找都很有用的特殊二叉树。 一个二叉搜索树可以为空&#xff0c;如果它不为空&#xff0c;它将满足以下性质&#xff1a; 非空左子树的所有键值小于其根节点的键值非空右子树的所有键值都大于其根结点的键值左…

2.16学习总结

1.邮递员送信&#xff08;dijkstra 不只是从起到到目标点&#xff0c;还要走回去&#xff09; 2.炸铁路(并查集) 3.统计方形&#xff08;数据加强版&#xff09;&#xff08;排列组合&#xff09; 4.滑雪&#xff08;记忆化&#xff09; 5.小车问题&#xff08;数学问题&#x…

无人机系统组装与调试,多旋翼无人机组装与调试技术详解,无人机飞控系统原理

多旋翼无人机飞控系统的组装 在开始组装前&#xff0c;确保您已准备好所有必要的工具和材料。这包括螺丝刀、电烙铁、焊台、杜邦线、飞控板、GPS模块、电机、桨叶等。 飞控安装 安全开关安装&#xff0c;将安全开关固定在机架上。将安全开关的线插到飞控SWITCH插口上。 电调…

【半监督图像分割 2023 】BHPC

【半监督图像分割 2023 】BHPC 论文题目&#xff1a;Semi-supervised medical image segmentation via hard positives oriented contrastive learning 中文题目&#xff1a;通过面向硬阳性的对比学习进行半监督医学图像分割 论文链接&#xff1a; 论文代码&#xff1a;https:/…

亚马逊、国际站、速卖通新店怎么销量破冰?自养号测评爆款打造思路

亚马逊作为全球最大的电子商务平台之一&#xff0c;吸引了众多卖家进驻其平台。对于新店铺来说&#xff0c;如何在竞争激烈的市场中突破销量瓶颈&#xff0c;成为卖家们关注的焦点。 一、亚马逊新店怎么销量破冰&#xff1f; 优化商品信息&#xff1a;在亚马逊平台上&#xff…

牛客网SQL进阶128:未完成试卷数大于1的有效用户

官网链接&#xff1a; 未完成试卷数大于1的有效用户_牛客题霸_牛客网现有试卷作答记录表exam_record&#xff08;uid用户ID, exam_id试卷ID, st。题目来自【牛客题霸】https://www.nowcoder.com/practice/46cb7a33f7204f3ba7f6536d2fc04286?tpId240&tqId2183007&ru%2…

【深度学习】Pytorch 系列教程(三):PyTorch数据结构:2、张量的数学运算(1):向量运算(加减乘除、数乘、内积、外积、范数、广播机制)

文章目录 一、前言二、实验环境三、PyTorch数据结构0、分类1、Tensor&#xff08;张量&#xff09;1. 维度&#xff08;Dimensions&#xff09;2. 数据类型&#xff08;Data Types&#xff09;3. GPU加速&#xff08;GPU Acceleration&#xff09; 2、张量的数学运算1. 向量运算…

蓝桥杯真题:扑克牌移动

import java.util.*; public class Main {public static List moveCard(List src){if(srcnull) return null;List dst new Vector();for(;;){if(src.size()0) break; // 填空src.add(src.remove(0));//remove(0) 是一个 List 接口中的方法调用&#xff0c;它表示移除列表中指…

Sentinel注解@SentinelResource详解

Sentinel注解SentinelResource详解 熔断 针对访问超过限制【sentinel中配置的限制】的资源&#xff0c;通过java代码配置&#xff0c;返回一个自定义的结果&#xff0c;需要用到 SentinelResource 注解的 blockHandlerClass 和 blockHandler 属性。 blockHandlerClass&#…

数据集合

目录 并集 union union all 区别 交集 intersect 差集 minus 错误操作 Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 常用的数学集合有&#xff1a;交集、并集、差集、补集 每一次查询实际上都会返回数据集合&#xff0c;…

【机器学习】机器学习常见算法详解第4篇:KNN算法计算过程(已分享,附代码)

本系列文章md笔记&#xff08;已分享&#xff09;主要讨论机器学习算法相关知识。机器学习算法文章笔记以算法、案例为驱动的学习&#xff0c;伴随浅显易懂的数学知识&#xff0c;让大家掌握机器学习常见算法原理&#xff0c;应用Scikit-learn实现机器学习算法的应用&#xff0…

房屋租赁系统的Java实战开发之旅

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

第11章 GUI

11.1 Swing概述 Swing是Java语言开发图形化界面的一个工具包。它以抽象窗口工具包&#xff08;AWT&#xff09;为基础&#xff0c;使跨平台应用程序可以使用可插拔的外观风格。Swing拥有丰富的库和组件&#xff0c;使用非常灵活&#xff0c;开发人员只用很少的代码就可以创建出…

免费申请一个美国EDU学生邮箱

EDU邮箱的作用 例如大名鼎鼎的GitHub学生包。包含各种服务器的优惠卷&#xff0c;可以让你免费使用1-2年的服务器。免费的域名。免费的网站证书。太多了。 微软&#xff1a;免费的5T的OneDrive账户。 Google&#xff1a;G Sutie Drive无限容量 微软、苹果、AWS、都有针对学…