codeforces1214D Treasure Island
Posted bakacirno
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codeforces1214D Treasure Island相关的知识,希望对你有一定的参考价值。
其实是一道水题,很显然答案一定是0、1、2中的某一个数
那么直接上dfs搜一遍,标记走过的点,如果这一次dfs不能到达终点,那么答案为0
否则再dfs一遍,dfs时不走标记过的点,如果这一次不能到达终点,那么答案为1
否则答案为2
#include <iostream> #include <stdio.h> #include <string.h> #include <stdlib.h> #define MAXN 1000010 using namespace std; int n,m; char map[MAXN]; bool vis[MAXN]; bool dfs(int r,int c) if(r<0||r>=n||c<0||c>=m||map[r*m+c]==‘#‘||vis[r*m+c]) return 0; if(r==n-1&&c==m-1) return 1; if(r!=0||c!=0) vis[r*m+c]=1; return dfs(r+1,c)||dfs(r,c+1); int main() scanf("%d%d",&n,&m); for(int i=0;i<n;i++) scanf("%s",map+i*m); if(!dfs(0,0)) printf("0\n");return 0; if(!dfs(0,0)) printf("1\n");return 0; printf("2\n"); return 0;
以上是关于codeforces1214D Treasure Island的主要内容,如果未能解决你的问题,请参考以下文章
codeforce 677D Vanya and Treasure
[Codeforces 505C]Mr. Kitayuta, the Treasure Hunter
Codeforces 677D - Vanya and Treasure