小明的挖矿之旅

xiaoxiao2021-02-28  23

链接: https://www.nowcoder.net/acm/contest/76/D

来源:牛客网

解题思路:由于传送门可以到达任意点,因此每个点都可以作为起始位置,所以遍历每个点查看该点是不是一个死点(死胡同),向下或向右都不能前进,统计死点个数即为答案。同时,判断是否需要传送门,当只有一个黄金是不需要传送

#include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<queue> #include<map> #include<vector> #include<iterator> #include<set> using namespace std; const int maxn = 1000+10; char ma[maxn][maxn]; int n,m; int main(){ while(scanf("%d%d",&n,&m)!=EOF){ for(int i=0;i<n;i++){ getchar(); for(int j=0;j<m;j++){ scanf("%c",&ma[i][j]); } } int ans = 0,flag = 0; for(int i=0;i<n;i++) for(int j=0;j<m;j++){ if(ma[i][j]=='#') continue; else flag ++; if((i+1==n||ma[i+1][j]=='#')&&(j+1==m||ma[i][j+1]=='#')) ans ++ ; } if(flag<=1){ puts("0"); } else printf("%d\n",ans); } return 0; }
转载请注明原文地址: https://www.6miu.com/read-2630259.html

最新回复(0)