当前位置: 首页 > wzjs >正文

网站 用户登陆 模板做网站被骗了怎么办

网站 用户登陆 模板,做网站被骗了怎么办,wordpress作品链接修改,网站标题和描述优化文章目录 数字接龙小u的最大连续移动次数问题 在蓝桥杯中,十分喜欢考察对于网格的回溯的问题,对于这类的问题,常常会使用到这个DFS和BFS进行考察,不过无论怎么考察,都只是会在最基础的模本的基础上,根据这个…

文章目录

  • 数字接龙
  • 小u的最大连续移动次数问题

  • 在蓝桥杯中,十分喜欢考察对于网格的回溯的问题,对于这类的问题,常常会使用到这个DFSBFS进行考察,不过无论怎么考察,都只是会在最基础的模本的基础上,根据这个题目的条件:
    • 增加递归传递的参数
    • 增加条件转移的时候的条件的判断
    • 考察对于终止状态的设置,答案的存储与更新

数字接龙

数字接龙

在这里插入图片描述
在这里插入图片描述

  • 查看数据范围,适合直接进行暴露的DFS搜索
  • 题目的条件有点多,我们逐一进行分析:
    • 需要记录哪些信息?
      • 当前位置的数字,当前的坐标,当前访问过的方格的数目
      • 为了保证每一个格子只能访问过一次,所以得使用visited数组
      • 移动的方向的,得使用一个二维数组step来记录,得逐一步伐的顺序与对应的方位顺序是一致的
      • 对于答案的记录,考虑使用这个字符来记录,最后再合并就好了
      • 对于交叉的判断的综合考虑?

代码版本1,不考虑这个交叉的问题

import os
import sys# sys.setrecursionlimit(10 ** 6)
# 请在此输入您的代码N,K = map(int,input().split())
e = []
# 存储图
for _ in range(N):tmp = list(map(int,input().split()))e.append(tmp)# 状态转移的路径,左,右,上,下,左上角,右上角,左下角,右下角
# 转移还得按照这个顺序
#step = [[0,-1],[0,1],[-1,0],[1,0],[-1,-1],[-1,1],[1,-1],[1,1]]
step = [[-1,0],[-1,1],[0,1],[1,1],[1,0],[1,-1],[0,-1],[-1,-1]]ans = []
path = []visited = [[False]*N for _ in range(N)]# 开始深度搜索,每一步的时候,判断下面是否是0,还是i+1,还得判断是否都走过了每一个位置
def dfs(i,x,y,cursum):# 终止状态if x == N-1 and y == N-1 and cursum == N*N:ans.append(int(''.join(path)))# 如何转移?for j in range(8):nx,ny = x+step[j][0],y+step[j][1]if 0<= nx < N and 0<= ny < N and not visited[nx][ny] and (e[nx][ny] == 0 or e[nx][ny] == i + 1):# 还是得存储这个字符形式visited[nx][ny] = Truepath.append(str(j))dfs(e[nx][ny],nx,ny,cursum+1)path.pop()visited[nx][ny] = Falsevisited[0][0] = True
dfs(e[0][0],0,0,1)
if ans:print(min(ans))
else:print(-1)
  • 测试样例的通过的情况:

在这里插入图片描述
在这里插入图片描述

增加了对于交叉的判断


import os
import sys# sys.setrecursionlimit(10 ** 6)
# 请在此输入您的代码N,K = map(int,input().split())
e = []
# 存储图
for _ in range(N):tmp = list(map(int,input().split()))e.append(tmp)# 状态转移的路径,左,右,上,下,左上角,右上角,左下角,右下角
# 转移还得按照这个顺序
#step = [[0,-1],[0,1],[-1,0],[1,0],[-1,-1],[-1,1],[1,-1],[1,1]]
step = [[-1,0],[-1,1],[0,1],[1,1],[1,0],[1,-1],[0,-1],[-1,-1]]ans = []
path = []visited = [[False]*N for _ in range(N)]# 开始深度搜索,每一步的时候,判断下面是否是0,还是i+1,还得判断是否都走过了每一个位置
def dfs(i,x,y,cursum):# 终止状态if x == N-1 and y == N-1 and cursum == N*N:ans.append(int(''.join(path)))# 如何转移?for j in range(8):nx,ny = x+step[j][0],y+step[j][1]if 0<= nx < N and 0<= ny < N and not visited[nx][ny] and (e[nx][ny] == 0 or e[nx][ny] == i + 1):if j == 1 and 0<= x-1 and y+1 < N:if visited[x][y+1] and visited[x-1][y]:continueif j == 3 and x+1 < N and y+1 < N:if visited[x][y+1] and visited[x+1][y]:continueif j == 5 and x+1 < N and 0<= y-1:if visited[x][y-1] and visited[x+1][y]:continueif j == 7 and 0<= y-1 and 0<= x-1:if visited[x][y-1] and visited[x-1][y]:continue# 还是得存储这个字符形式visited[nx][ny] = Truepath.append(str(j))dfs(e[nx][ny],nx,ny,cursum+1)path.pop()visited[nx][ny] = Falsevisited[0][0] = True
dfs(e[0][0],0,0,1)
if ans:print(min(ans))
else:print(-1)
  • 样例通过情况

在这里插入图片描述
在这里插入图片描述

  • 改进这个交叉判断,上面的判断其实是不合理的,因为如果左右两边的位置都被访问过的话,并不确定对应的对角线是存在线的,正确的做法就是使用多一个数组记录当前位置的下一步是什么,如果左右位置存在对角线,那么就不能通过

import os
import sys# sys.setrecursionlimit(10 ** 6)
# 请在此输入您的代码N,K = map(int,input().split())
e = []
# 存储图
for _ in range(N):tmp = list(map(int,input().split()))e.append(tmp)# 状态转移的路径,左,右,上,下,左上角,右上角,左下角,右下角
# 转移还得按照这个顺序
#step = [[0,-1],[0,1],[-1,0],[1,0],[-1,-1],[-1,1],[1,-1],[1,1]]
step = [[-1,0],[-1,1],[0,1],[1,1],[1,0],[1,-1],[0,-1],[-1,-1]]ans = []
path = []visited = [[False]*N for _ in range(N)]
nextstep = [[-1]*N for _ in range(N)]# 开始深度搜索,每一步的时候,判断下面是否是0,还是i+1,还得判断是否都走过了每一个位置
def dfs(i,x,y,cursum):# 终止状态if x == N-1 and y == N-1 and cursum == N*N:if not ans:ans.append(int(''.join(path)))return # 如何转移?for j in range(8):nx,ny = x+step[j][0],y+step[j][1]if 0<= nx < N and 0<= ny < N and not visited[nx][ny] and (e[nx][ny] == 0 or e[nx][ny] == i + 1):if j == 1 and (nextstep[nx][ny-1] == 3 or nextstep[nx-1][ny] == 7): continueif j == 3 and (nextstep[nx-1][ny] == 5 or nextstep[nx][ny-1] == 1): continueif j == 5 and (nextstep[nx-1][ny] == 3 or nextstep[nx][ny+1] == 7): continueif j == 7 and (nextstep[nx+1][ny] == 1 or nextstep[nx][ny+1] == 5): continuenextstep[x][y] = j# 还是得存储这个字符形式visited[nx][ny] = Truepath.append(str(j))dfs(e[nx][ny],nx,ny,cursum+1)if ans:return path.pop()visited[nx][ny] = Falsenextstep[x][y] = -1visited[0][0] = True
dfs(e[0][0],0,0,1)
if ans:print(min(ans))
else:print(-1)

小u的最大连续移动次数问题

小u的最大连续移动次数问题

在这里插入图片描述

  • 直接暴力进行求解
  • 这个问题的难点在于这个没有明确的终止状态,所以考虑使用一个全局的变量进行动态的更新,直接都不返回值
  • 需要记录的信息:
    • 当前的位置x,y,当前的步数step,上一个状态是上坡还是下坡flag
def solution(m: int, n: int, a: list) -> int:# 先写一个dfs模版,后面再每一个点都进行调用sstep = [[0,-1],[0,1],[-1,0],[1,0]]visited = [[False]*n for _ in range(m)]ans = 0# 还得增加一个变量记录上次是上坡还是下坡,flag = 1表示上,-1表示下def dfs(x,y,step,flag):nonlocal ansans = max(ans,step)for s in sstep:nx,ny = x+s[0],y+s[1]if 0<= nx < m and 0<= ny < n and not visited[nx][ny]:if flag == -1 and a[nx][ny] > a[x][y]:visited[nx][ny] = Truedfs(nx,ny,step+1,1)visited[nx][ny] = Falseif flag == 1 and a[nx][ny] < a[x][y]:visited[nx][ny] = Truedfs(nx,ny,step+1,-1)visited[nx][ny] = Falseans = 0for i in range(m):for j in range(n):visited[i][j] = Truedfs(i,j,0,1)dfs(i,j,0,-1)visited[i][j] = Falsereturn ans

文章转载自:

http://J6ivZNdd.wdLyt.cn
http://nzhMosWc.wdLyt.cn
http://seUVPgQs.wdLyt.cn
http://tSCHEkpa.wdLyt.cn
http://GwmZN0tH.wdLyt.cn
http://4YG4V54I.wdLyt.cn
http://XoUjT0d3.wdLyt.cn
http://AGTshV7K.wdLyt.cn
http://NbmFjfiE.wdLyt.cn
http://OHIbs2gC.wdLyt.cn
http://VCBoCjEf.wdLyt.cn
http://abF7bHxV.wdLyt.cn
http://YWFUnYGo.wdLyt.cn
http://WeYyE1hN.wdLyt.cn
http://bC5nbdkC.wdLyt.cn
http://hODTU9rh.wdLyt.cn
http://4FBBQYs2.wdLyt.cn
http://ZC57lYeb.wdLyt.cn
http://8h3ISPaJ.wdLyt.cn
http://1Lhmsfwg.wdLyt.cn
http://9xoXy1kK.wdLyt.cn
http://wrtMFv8c.wdLyt.cn
http://rI8qaNR9.wdLyt.cn
http://mZF2YRLO.wdLyt.cn
http://MDrzhQ0j.wdLyt.cn
http://ydGJdq8a.wdLyt.cn
http://w6tApsgW.wdLyt.cn
http://xNm0vbkg.wdLyt.cn
http://D24xRXtF.wdLyt.cn
http://RCbYNz7V.wdLyt.cn
http://www.dtcms.com/wzjs/655807.html

相关文章:

  • 教育培训网站制作特价网站源码
  • 医疗网站建设哪家好商城网站开发项目文档
  • 怎样设置网站怎样用代码制作网站
  • 网络管理员需要懂网站建设吗网站标题title怎么写
  • 乔拓云智能建站免费注册郑州最好的建站公司
  • 江苏专业网站建设费用佛山网站建设公司怎么做
  • 国外试用网站空间微信小程序毕业设计
  • 长春市城乡建设局网站网页制作与设计在哪搜题
  • 网站多久被百度收录怎么做英文网站
  • 扬州建网站做网站的如何找业务
  • 电信ip做的网站移动不能访问做网页用什么软件好
  • 小程序网站wordpress搜索频率
  • 建设项目环保备案登记网站重庆网站开发解决方案
  • dedecms做门户网站零基础怎么做电商
  • 做网站技术员电商数据分析与数据化运营
  • 无锡快速建设网站方法设备 光速东莞网站建设
  • 网站 标题 关键词 描述抖音电商官网
  • 网站制作 手机微信saas平台
  • 无忧网站自适应网站方案
  • 营销型网站建设设定包括哪些方面谷歌play商店
  • 京东网站难做吗百度指数排行榜
  • html网站优化宁波建设业协会网站
  • 济南网站建设模板沧州网站建设推广
  • 做网站对企业有什么好处临清网站建设费用
  • 宁波网站制作费用网站 图标 素材
  • 怎么看一个网站是用什么程序做的wordpress 移动端插件
  • 一个完整的网站制作流程学校部门网站的建设
  • 做百度推广需要有自己的网站吗什么是前端开发技术
  • 怎么做挣钱的网站wordpress notes
  • 网站建设推广安徽微信公众号手机网站