搜索(Shuffle‘m Up ,Oil Deposits )

news/2024/12/22 14:22:34/

Shuffle'm Up

思路:首先我们需要知道两个停止条件第一就是找到了,那么怎么算没有找到呢?当一个字符串重复出现的时候就代表着已经不可能出现答案了。

犯下的错误:第一就是对string的使用不够了解。第二就是对map数组的使用也不是很熟悉,也常常犯下和string差不多。

收获到的知识:1.了解了substr函数的使用和clear函数的使用,对string是地址存放每一个单位的字符有了更深的了解,如string str;  然后str = str1 ;这个的意思就是将str1的全部赋值给str。
而str += str1的意思就是从str没有字符的地方开始一次将str1的开头位置赋给str。str.size()就是表示长度的意思。

完整代码如下:

#include<iostream>
#include<string>
#include<map>
using namespace std;
int t, len, step;
map<string, bool>vis;
int main()
{cin >> t;int cen = 0;while (t--){string s1, s2, s12;cin >> len;cin >> s1 >> s2 >> s12;step = 0;vis.clear();while (1){step++;string str;int i = 0;for (int j = 0; j < len; j++){str += s2[i++];str += s1[j];}if (str == s12){break;}if (vis[str] && str != s12){step = -1;break;}vis[str] = true;s1 = str.substr(0, str.size() / 2);s2 = str.substr(str.size() / 2, str.size());}cout << ++cen<<" "<<step << endl;}
}

油藏

这个其实之前在洛谷上刷的一到题:

思路很简单就是使用一个嵌套循环将地图的全部都检查一遍,每一个坐标都要使用一次dfs将于油田相连的油田全部变成陆地,这样就可以防止当遍历重复的地方的时候就会重复计算。

代码如下:

#include<iostream>
#include<string>
#include<map>
char maze[120][120];
using namespace std;
int ans = 0;
int dx[] = {-1,-1,-1, 0, 0, 1, 1, 1};
int dy[] = {-1, 0, 1,-1, 1,-1, 0, 1};
int n, m;
void dfs(int x, int y)
{for (int i = 0; i < 8; i++){int tx = x + dx[i];int ty = y + dy[i];if (tx<1 || tx>n || ty<1 || ty>m || maze[tx][ty] == '*')continue;if (maze[tx][ty] == '@')maze[tx][ty] = '*';dfs(tx, ty);}
}
int main()
{while (1){ans = 0;cin >> n >> m;if (n == 0 && m == 0)return 0;for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){cin >> maze[i][j];}getchar();}for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){if (maze[i][j] == '@'){ans++;dfs(i, j);}}}cout << ans << endl;}return 0;
}


http://www.ppmy.cn/news/1390028.html

相关文章

WT32-ETH02 plus 串口转以太网开发,WT32-ETH01网关开发板升级款!

广受欢迎的WT32-ETH01网关开发板迎来了升级。 就是这款启明云端新推出的嵌入式串口转以太网开发板——WT32-ETH02 plus。应广大客户的需求&#xff0c;在WT32-ETH01的基础上增加了POE供电&#xff0c;可广泛应用于智能家居和网关等应用。开发板搭载2.4GHz Wi-Fi和蓝牙双模的SO…

deepseek-coder模型量化

1 简介 DeepSeek-Coder在多种编程语言和各种基准测试中取得了开源代码模型中最先进的性能。 为尝试在开发板进行部署&#xff0c;首先利用llama.cpp对其进行量化。 2 llama.cpp安装 git clone之后进入文件夹make即可&#xff0c;再将依赖补全pip install -r requirements.tx…

vue3 打印局部网页、网页下载为图片、下载为pdf-自动分页,几行代码搞定

经常有一些需求&#xff0c;要将网页保存为一张图片&#xff0c;感觉异常困难&#xff0c;这里发现一个简单的办法。 这么简单&#xff0c;直接一句哇塞&#xff0c;老板&#xff1a;马上完成任务。 先安装几个依赖 npm i howuse html2canvas jspdf 下载图片代码 <button …

C++ 常用

1. 字符串操作1.1 字符串比较 strcmp1.2 转为字符串类型 to_string1.3 字符串相加1.4 char 转 int s-01.5 string 转 int stoi() 2. C和Python使用区别2.1 循环中的可迭代对象长度2.2 C 字符串操作2.2.1 reverse(s.begin(), s.begin() n) 翻转 2.3 C 各类型长度2.4 C 数组/容器…

TikTok云手机是什么原理?

社交媒体的快速发展和普及&#xff0c;TikTok已成为全球最受欢迎的短视频平台之一&#xff0c;吸引了数以亿计的用户。在TikTok上&#xff0c;许多用户和内容创作者都希望能够更灵活地管理和运营多个账号&#xff0c;这就需要借助云手机技术。那么&#xff0c;TikTok云手机究竟…

ucloud、阿里云、硅云的香港服务器哪家更好?

近年香港云服务器比较受到外贸建站、企业建站人士的欢迎&#xff0c;其中Ucloud、硅云和阿里云三家的香港服务器比较火热&#xff0c;那么该三家的香港服务器有哪些特点呢&#xff1f; 1、ucloud香港服务器 优点&#xff1a;价格低廉 缺点&#xff1a;线路不稳&#xff0c;高…

帅帅密码管理系统使用教程

在这个账号满天飞的大环境&#xff0c;密码太多&#xff0c;又容易遗忘&#xff0c;又不方便管理&#xff0c;存在记事本上&#xff0c;又担心泄漏。帅帅密码管理系统就是帮助你解决以上烦恼&#xff0c;用来帮助个人或团队管理众多的登陆密码&#xff0c;能够快速的查询、新增…

OD C卷 - 可以处理的最大任务

可以处理的最大任务&#xff08;200&#xff09; 有一个tasks任务列表&#xff0c;需要处理其中的任务&#xff1b;tasks[i] [si, ei]&#xff0c;该任务可以在si<day<ei之间的任意天处理&#xff1b;一天仅可以完成一个任务&#xff0c;输出可以处理的最大任务数&…