博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SDUT OJ 1598 周游列国
阅读量:5123 次
发布时间:2019-06-13

本文共 2066 字,大约阅读时间需要 6 分钟。

周游列国

Time Limit: 1000ms   Memory limit: 32768K  有疑问?点这里^_^

题目描述

       大家都知道孔子吧,春秋战国时候的一个老头儿。当时出国还不用护照,所以他经常赶着牛车带着弟子们周游列国。可是这路也并不是那么好走的,当遇到高山时孔子他们就得绕着走了,你得考虑他牛车的实力能不能hold住啊。当然,孔子是个很聪明的人,每次出门前都会四处打听,然后制定出一个赶车路线,然后按照路线去走。但是,由于很多路没有亲自走过他也不确定按这个路线到底能不能周游列国?然而,你有当时的地图,希望你编程判断一下按照孔子的行车路线能不能周游列国。

输入

       第一行是行车路线即一个字符串只包含L,R,U和D分别代表左走,右走,上走,下走。接下来以上是两个整数H和W,0 < H,W < 20, 代表地图的高和宽。然后是H*W的地图。S代表孔子的起点。标有1~7的区域分别代表7个国家的领土,#代表高山。

输出

如果孔子能周游列国即经过这7个国家则输出Yes,否则输出No。

示例输入

RDDDDLRRRRUU5 5S111122#2233#4456#7756777

示例输出

Yes 分析:此题目好坑,需要注意的是 如果给定的路线会经过 '#' 或者 'S' 应该怎样处理 ?   跳出直接输出No,还是,,,?  因为这个,我 WA 好几次!      正确的处理是:遇到'#',回退到上一步。遇到 'S',直接无视 continue 跳过就可以了!    代码:
#include 
#include
#include
#include
#include
#include
using namespace std;char map[21][21];int main(){ int n, m; char s[2000]; int len; int i, j, k; char ch; while(scanf("%s", s)!=EOF) { len = strlen(s); //puts(s); cin>>n>>m; int dd, ff; int a[8]; memset(a, 0, sizeof(a)); for(i=0; i
='1' && ch<='7') { //map[i][j]=ch; break; } else { ch=getchar(); } } map[i][j]=ch; if(map[i][j]=='S') { dd=i; ff=j; } } } //puts(s); int flag=1; for(k=0; k
=0 && ff
='1' && map[dd][ff]<='7') ) { a[map[dd][ff]-48]++; continue; } else if(map[dd][ff]=='S') continue; else if(map[dd][ff]=='#' ) { ff--; } } else if( s[k]=='L' ) { ff--; if( ff>=0 && ff
='1' && map[dd][ff]<='7') ) { a[map[dd][ff]-48]++; continue; } else if(map[dd][ff]=='S') continue; else if(map[dd][ff]=='#') ff++; } else if(s[k]=='U') { dd--; if( dd>=0 && dd
='1' && map[dd][ff]<='7') ) { a[map[dd][ff]-48]++; continue; } else if(map[dd][ff]=='S') continue; else if(map[dd][ff]=='#') dd++; } else if(s[k]=='D' ) { dd++; if( (dd>=0 && dd
='1' && map[dd][ff]<='7') ) { a[map[dd][ff]-48]++; continue; } else if(map[dd][ff]=='S') continue; else if(map[dd][ff]=='#') dd--; } } int w=1; for(i=1; i<=7; i++) { if(a[i]==0) { w=0; break; } } if(w==0) cout<<"No\n"; else cout<<"Yes\n"; } return 0;}

 

 

转载于:https://www.cnblogs.com/yspworld/p/4116129.html

你可能感兴趣的文章
Codeforces Round #410 (Div. 2)(A,字符串,水坑,B,暴力枚举,C,思维题,D,区间贪心)
查看>>
我的第一次Pascal程序
查看>>
设计模式——策略模式
查看>>
P2058 海港
查看>>
python内置函数
查看>>
matplotlib 中文显示 的问题
查看>>
函数进阶
查看>>
软件工程课程建议
查看>>
nylon尼龙的来历
查看>>
Java之反射机制
查看>>
暑假开始了,大家给力啊
查看>>
sqlserver 跨服务器查询
查看>>
JavaScript学习系列3 -- JavaScript arguments对象学习
查看>>
Enum遇到下拉框
查看>>
MySQL系列--4.使用Python3访问数据库
查看>>
Django缓存和内置信号
查看>>
Oracle中的单值函数
查看>>
今天开通一个真正属于自己的博客了《L.M》
查看>>
19.请输入整数
查看>>
拦截QT关闭窗口的CloseEvent
查看>>