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

asp.net 做网站文章是怎么存储的服装网站建设需求分析报告

asp.net 做网站文章是怎么存储的,服装网站建设需求分析报告,wordpress php 缓慢,wordpress文章添加回目录题面 一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由 nn 的格点组成,每个格点只有 22 种状态, 00 和 11,前者表示可以通行后者表示不能通行。 同时当Extense处在某个格点时,他只能移动到东南西北…

题面

一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由 n×n 的格点组成,每个格点只有 22 种状态, 00 和 11,前者表示可以通行后者表示不能通行。

同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点 A 走到点 B ,问在不走出迷宫的情况下能不能办到。

如果起点或者终点有一个不能通行(为 1),则看成无法办到。

输入

第 1 行是一个正整数 n (1≤n≤100),表示迷宫的规模是 n×n 的。

接下来是一个 n×n 的矩阵,矩阵中的元素为 0 或者 1。

再接下来一行是 4 个整数 ha la hb lb,描述 A 处在第ha 行 第 la 列,B 处在第hb 行 第 lb 列。

输出

能办到则输出 YES,否则输出 NO

样例

输入

3
0 1 1
0 0 1
1 0 0
1 1 3 3

输出

YES
链接:Link. 

典中典中典的dfs或bfs题,用dfs做的话要注意边界和到没到达终点。

解法一:到了终点用一个f来标记,true就是到了,false就反之

#include <bits/stdc++.h>
using namespace std;
int a[110][110];
int n , s1 , s2 , e1 , e2;
bool f = false;
int fx[5] = {0 , 0 , 1 , 0 , -1};
int fy[5] = {0 , 1 , 0 , -1 , 0};
void dfs(int x , int y){a[x][y] = 1;int tx , ty;for ( int i = 1 ; i <= 4 ; i++ ){tx = x + fx[i];ty = y + fy[i];if(tx >= 1 && tx <= n && ty >= 1 && ty <= n && a[tx][ty] == 0 ){if(tx == e1 && ty == e2) f = true;else dfs(tx , ty);}}
}
int main(){scanf("%d" , &n);for ( int i = 1 ; i <= n ; i++ )for ( int j = 1 ; j <= n ; j++ )scanf("%d" , &a[i][j]);scanf("%d%d%d%d" , &s1 , &s2 , &e1 , &e2);if ( a[s1][s2] == 1 || a[e1][e2] == 1 )printf("NO");else{dfs(s1 , s2);if ( f == true )printf("YES");elseprintf("NO");}return 0;
}

 解法二:多加了一个判断条件f==false,这能防止无效递归

#include <bits/stdc++.h>
using namespace std;
int a[110][110];
int n , s1 , s2 , e1 , e2;
bool f = false;
int fx[5] = {0 , 0 , 1 , 0 , -1};
int fy[5] = {0 , 1 , 0 , -1 , 0};
void dfs(int x , int y){a[x][y] = 1;int tx , ty;for ( int i = 1 ; i <= 4 ; i++ ){tx = x + fx[i];ty = y + fy[i];if(tx >= 1 && tx <= n && ty >= 1 && ty <= n && a[tx][ty] == 0 && f == false){if(tx == e1 && ty == e2) f = true;else dfs(tx , ty);}}
}
int main(){scanf("%d" , &n);for ( int i = 1 ; i <= n ; i++ )for ( int j = 1 ; j <= n ; j++ )scanf("%d" , &a[i][j]);scanf("%d%d%d%d" , &s1 , &s2 , &e1 , &e2);if ( a[s1][s2] == 1 || a[e1][e2] == 1 )printf("NO");else{dfs(s1 , s2);if ( f == true )printf("YES\n");elseprintf("NO");}return 0;
} 

 解法三:到了终点直接输出YES,然后结束整个程序

#include <bits/stdc++.h>
using namespace std;
int a[110][110];
int n , s1 , s2 , e1 , e2;
int fx[5] = {0 , 0 , 1 , 0 , -1};
int fy[5] = {0 , 1 , 0 , -1 , 0};
void dfs(int x , int y){a[x][y] = 1;int tx , ty;for ( int i = 1 ; i <= 4 ; i++ ){tx = x + fx[i];ty = y + fy[i];if(tx >= 1 && tx <= n && ty >= 1 && ty <= n && a[tx][ty] == 0 ){if(tx == e1 && ty == e2) {printf("YES");exit(0); //Í£Ö¹³ÌÐò }else dfs(tx , ty);}}
}
int main(){scanf("%d" , &n);for ( int i = 1 ; i <= n ; i++ )for ( int j = 1 ; j <= n ; j++ )scanf("%d" , &a[i][j]);scanf("%d%d%d%d" , &s1 , &s2 , &e1 , &e2);if ( a[s1][s2] == 1 || a[e1][e2] == 1 )printf("NO");else{dfs(s1 , s2);printf("NO");}return 0;
} 

 

http://www.yayakq.cn/news/567646/

相关文章:

  • 大理网站制作立即注册
  • 网站开发技能免费网站qq抓取
  • 万网域名申请网站网站空间排行榜
  • 自己用iis怎么建设网站小白如何做跨境电商
  • 成交型网站制作天津美容网站建设
  • 网站建设 核算昆明装修公司哪家好
  • sdcms网站源码企业免费招聘人才网站
  • 浙江省建设厅网站wordpress主题如何修改
  • 阿里巴巴上做英文网站一年多少钱成品短视频网站源码搭建
  • 湘西州建设银行网站个人网站备案名称大全
  • 网站备案审核通过时间全flash 电子商务网站如何推广
  • 做自媒体小视屏哪个网站好跨界营销案例
  • 北京网站案例网页制作怎么学
  • 做推广网站的文章计算机专业哪个学校最好
  • 顺企网萍乡网站建设wordpress需要钱吗
  • 我有服务器和模板怎么做网站网站域名详解
  • com表示商业网站学习如何做网站
  • 电子商务网站设计原则wordpress 获取当前文章标题
  • 浙江 网站建设在线简历
  • 长沙网站设计多少钱一个月建设通网站是做什么的
  • 网站建设安全免费网站是如何盈利的
  • 网站备案后 如何建设网站优化方案
  • 便捷的网站建设平台网站版面设计注意事项
  • 无锡做网站选优易信如何做聚合类网站
  • 网站设计与网页配色seo网站推广方式
  • 都匀网站制作优秀交互设计app欣赏
  • com网站免费注册网站开发语言怎么查
  • 网站建设都用那些软件什么是网盟推广
  • 网站备案注意事项wordpress获取域名
  • 个人做游戏网站可以做网站素材的服装