首页 > 其他分享 >大美丽回家

大美丽回家

时间:2024-03-11 19:22:44浏览次数:19  
标签:200 205 vis int 回家 访问 美丽 &&

image

解题思路

  • 走过的路可以再走
    1.投机取巧:挑选一个合适的值x(1~200*200,我随便选了200),判断访问该点的次数小于x就可以继续访问,大于x就表示访问了太多次,不能访问了
    2.好好做:就算一个点被访问了多次,但只要每次访问的刀不一样就行了
    (这里我更倾向于第一种)
  • 请使用bfs
  • 由于走过的路可以再走,所以我们可以把vis改成计数器数组(记录访问次数)

code

#include <bits/stdc++.h>
using namespace std;
int n, k;
char s[205][205];
struct node {
	int x, y;
	int dao, cnt;
	node(int a, int b, int c, int d): x(a), y(b), dao(c), cnt(d) {};
};
int vis[205][205];
int sx, sy;
int ex, ey;
queue<node> q;
int dx[] = {0, 0, -1, 1};
int dy[] = {-1, 1, 0, 0};
int main() {
	cin >> n >> k;
	for (int i = 1; i <= n; i++) {
		getchar();
		for (int j = 1; j <= n; j++) {
			s[i][j] = getchar();
			if (s[i][j] == '@')
				sx = i, sy = j;
			if (s[i][j] == '*')
				ex = i, ey = j;
		}
	}
	vis[sx][sy] = true;
	q.push(node(sx, sy, k, 0));
	while (q.size()) {
		node t = q.front();
		q.pop();
		if (t.x == ex && t.y == ey) {
			cout << t.cnt;
			return 0;
		}
		for (int i = 0; i < 4; i++) {
			int xx = t.x + dx[i];
			int yy = t.y + dy[i];
			if (xx == ex && yy == ey) {
				cout << t.cnt + 1;
				return 0;
			}
			if (xx >= 1 && xx <= n && yy >= 1 && yy <= n && vis[xx][yy] <= 200) {
				if (s[xx][yy] == 'x') {
					if (t.dao == 0) {
						continue;
					}
					q.push(node(xx, yy, t.dao - 1, t.cnt + 1));
					vis[xx][yy]++;
				} else {
					q.push(node(xx, yy, t.dao, t.cnt + 1));
					vis[xx][yy]++;
				}

			}
		}
	}
	cout << -1;
	return 0;
}

标签:200,205,vis,int,回家,访问,美丽,&&
From: https://www.cnblogs.com/algorithm-hu/p/18066859

相关文章

  • 回家路线
    一道好题首先肯定是DP,考虑如何DP我们发现可以尝试按照乘坐的列车编号的序列进行DP设\(f[i]\)表示某种列车序列,最后一趟车是第\(i\)个班次的最小花费那么显然有\(f[i]=f[j]+A(p_i-q_k)^2+B(p_i-q_j)+C\)打开之后发现有\(i\)和\(j\)的乘积项,所以想到斜率优化移项后变成\(2Ap_i......
  • 美丽角对
    asin、acos、atan:反正弦、反余弦、反正切函数可以利用以上函数得到Π的值注意1的特判点击查看代码#include<bits/stdc++.h>usingnamespacestd;structt1{ longlongx,y;}t[100005];longlongread1(){ charcc=getchar(); while(!(cc>=48&&cc<=57)) { if(c......
  • 谁说后端不能画出美丽的动图?让我来给大家拜个年!
    今天我们要介绍的是Python的内置库——小海龟(turtle),它是一个非常实用的绘画工具,不仅可以帮助我们绘制图形,还能让我们查看整个绘画过程。即使对绘画一窍不通的人也能够使用它来创作出生动、形象的gif动图。现在正是龙年即将到来,距离过年也只有几天的时间了。因此,我今天的主要目的就......
  • 目前实习,要不要辞职回家过年?
    今天早上上班很有意思,同时收到了两个同学询问,关于要不要辞职回家过年的消息。但是我却给了两个完全相反的意见,这是怎么回事呢?一起来看。1.大厂实习的A同学A同学是25届的学生,目前在国内某知名公司实习,该公司的薪资是出了名的高,普通应届生也能轻松拿到30W以上的年薪,而A同学......
  • 【K哥爬虫普法】倒计时21天!事关爬虫er们能否平安回家过年!
     我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K哥特设了“K哥爬虫普法”专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识,知晓如何合法合规利用爬虫技术,警钟长鸣,做一个守法、护法、有原则的技术人员。事出有因 ......
  • 关于落户和过年回家引发的焦虑感
    今天在和爸妈讨论在深圳过年很无聊的事情,引发了我的一波焦虑。之前总是听别人说这种焦虑感,这次自己体会到这种感觉,真的很不是滋味。回家的成本计算:单程详情开车:1800km*0.6=1080(燃油费)+1000(过路费)=2080¥,最少24H,还要不间断的连续开,火车:440*4=1760¥,小孩奶瓶,32h飞机:1600*4=64......
  • 【leetcode 2949 统计美丽子字符串】
      importjava.util.HashMap;importjava.util.Map;classSolution{publicstaticvoidmain(String[]args){Solutionsolution=newSolution();longans=solution.beautifulSubstrings("baeyh",2);System.out.printl......
  • Python美丽图案生成方法
    使用samila库可以生成美丽的图案,例如:#pipinstallsamila==1.1orpip3installsamila==1.1importmatplotlib.pyplotaspltfromsamilaimportGenerativeImage#g=GenerativeImage()#g.generate()#g.plot()#plt.show()importrandomimportmathdeff1(x,......
  • 手造时代与新一数字探索元宇宙VR技术赋能美丽乡村文化建设事业
    近日,新一(苏州)数字科技有限公司和手造时代(苏州)文创有限责任公司战略合作的元宇宙互动创意开发项目正式签约,作为苏州吴中区重点文化产业项目在江苏省苏州市吴中区2023年苏作文创峰会中登台签约。2023年11月16日,江苏省苏州市吴中区委书记丁立新,江苏省苏州市委组织部副部长陈雪......
  • 如何使用Matplotlib模块的text()函数给柱形图添加美丽的标签数据?
    (如何使用Matplotlib模块的text函数给柱形图添加美丽的标签数据?)1简单引入在进行数据分析时,当一些图表数据,比如柱形图我们想让它更直观的显示一些内容,有时候会给柱形图添加标签,那如何实现这样的效果呢?还有比如我们把某手机品牌1-12月每月的销量制作成柱形图,那如何在柱形图上......