栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1019 Illusive Chase

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1019 Illusive Chase

#include<cstdio>#include<iostream>using namespace std;typedef struct step{int x,y;char direction;}step;step steps[10000];int maps[101][101];int m,n,nSteps;bool move(int& x,int& y, char d){if (d=='U'){if ( x>1 && maps[x-1][y]==0 ){x--;return true;}return false;}if (d=='D'){if ( x<n && maps[x+1][y]==0 ){x++;return true;}return false;}if (d=='L'){if ( y>1 && maps[x][y-1]==0 ){y--;return true;}return false;}if (d=='R'){if ( y<m && maps[x][y+1]==0 ){y++;return true;}return false;}return false;}int walk(int x,int y,int k){if (x<1||x>n||y<1||y>m||maps[x][y]==1)return 0;if ( k==nSteps)return 1;int i=1;int tx=x;int ty=y;char dir=steps[k].direction;for(;i<=steps[k].x-1;i++){if(!move(tx,ty,dir))return 0;}for(;i<=steps[k].y;i++){if(move(tx,ty,dir)){if (walk(tx,ty,k+1))return 1;}elsebreak;}return 0;}int main(){int k,t;int i,j,tx,ty;int count=0;char ch;scanf("%d",&k);while(k--){t=0;count=0;nSteps=0;scanf("%d%d",&n,&m);for(i=1;i<=n;i++)for(j=1;j<=m;j++)scanf("%d",&maps[i][j]);while(1){scanf("%d%d",&tx,&ty);if(tx==0 || ty==0)break;steps[t].x = tx;steps[t].y = ty;scanf(" %c",&ch);steps[t].direction = ch;t++;nSteps++;}for(i=1;i<=n;i++)for(j=1;j<=m;j++)count += walk(i,j,0);printf("%dn",count);}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/378112.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号