TYVJ P1030 乳草的入侵 Label:跳马问题
背景
描述
草地像往常一样,被分割成一个高度為Y(1 <= y <= 100), 宽度為X(1 <= x <= 100)的直角网格。(1,1)是左下角的格(也就是说坐标排布跟一般的X,Y坐标相同)。乳草一开始佔领了格(Mx,My)。每个星期,乳草传播到已被乳草佔领的格子四面八方的每一个没有很多石头的格(包括垂直与水平相邻的和对角线上相邻的格)。1周之后,这些新佔领的格又可以把乳草传播到更多的格裡面了。
Bessie想要在草地被乳草完全佔领之前尽可能的享用所有的牧草。她很好奇到底乳草要多久才能佔领整个草地。如果乳草在0时刻处於格(Mx,My),那麼还在那个时刻它们可以完全佔领入侵整片草地呢(对给定的数据总是会发生)?
草地由一个图片表示。"."表示草,而"*"表示大石。比如这个X=4, Y=3的例子。
....
..*.
.**.
如果乳草一开始在左下角(第1排,第1列),那麼草地的地图将会以如下态势发展:
乳草会在4星期后佔领整片土地。
输入格式
* 第2到第Y+1行: 数据的第y+1行由X个字符("."表示草地,"*"表示大石),描述草地的
第(Y+2-y)行。
输出格式
测试样例1
输入
4 3 1 1
....
..*.
.**.
输出
4
代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<algorithm>
using namespace std;
int N,M,P,dep,ans,X,Y,map[][],
dx[]={ ,,, ,,-,-,-},
dy[]={-,,,-,,-, , };
char juzhen[][];
struct cc{
int x,y;
}q1;
queue<cc> que; void init_(){
memset(map,-,sizeof(map));
scanf("%d%d%d%d",&N,&M,&X,&Y);//M行 N列
for(int i=M;i>=;i--){
scanf("%s",juzhen[i]+);
}
q1.x=Y;q1.y=X;
que.push(q1);
map[Y][X]=;
} void print(){
for(int i=;i<=M;i++){
for(int j=;j<=N;j++){
printf("%-3d",map[i][j]);
}
puts("");
}
puts("");
} int main(){
// freopen("01.txt","r",stdin);
init_(); while(!que.empty()){
q1=que.front();que.pop();
for(int i=;i<;i++){
int xx=q1.x+dx[i],yy=q1.y+dy[i];
if(xx<||yy<||xx>M||yy>N) continue;
if(juzhen[xx][yy]=='*') continue;
if(map[xx][yy]>=) continue;
cc q2;q2.x=xx;q2.y=yy;
que.push(q2);
map[xx][yy]=map[q1.x][q1.y]+;
ans=max(ans,map[xx][yy]);
}
// print();
}
printf("%d\n",ans);
return ;
}这输入方式我整个人都不好了,n和m搞混,x和y搞混,
样例还如此飘逸,根本不知道x和y反了!!!
TYVJ P1030 乳草的入侵 Label:跳马问题的更多相关文章
- [TYVJ] P1030 乳草的入侵
乳草的入侵 背景 Background USACO OCT09 6TH 描述 Description Farmer John一直努力让他的草地充满鲜美多汁的而又健康的牧草.可惜天不从人愿,他在植物 ...
- Tyvj 1030 乳草的入侵
以一个简单的BFS对基础搜索做一个收尾好了. 给一个草,然后以这棵草为九宫格的中心,每周向周围八个方向扩散,问多少个星期能把这个农场占满. 遍历整个map,最后一个出队列的对应的星期数就是所求. // ...
- 乳草的入侵//BFS
P1030 乳草的入侵 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 USACO OCT09 6TH 描述 Farmer John一直努力让他的草地充满鲜美 ...
- 3406: [Usaco2009 Oct]Invasion of the Milkweed 乳草的入侵
3406: [Usaco2009 Oct]Invasion of the Milkweed 乳草的入侵 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 8 ...
- TYVJ P1074 武士风度的牛 Label:跳马问题
背景 农民John有很多牛,他想交易其中一头被Don称为The Knight的牛.这头牛有一个独一无二的超能力,在农场里像Knight一样地跳(就是我们熟悉的象棋中马的走法).虽然这头神奇的牛不能跳到 ...
- BZOJ 3406 乳草的入侵
BFS. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm&g ...
- [USACO09OCT]Invasion of the Milkweed】乳草的侵占-C++
Farmer John一直努力让他的草地充满鲜美多汁的而又健康的牧草.可惜天不从人愿,他在植物大战人类中败下阵来.邪恶的乳草已经在他的农场的西北部份占领了一片立足之地. 草地像往常一样,被分割成一个高 ...
- 乳草的侵占(BFS)
armer John一直努力让他的草地充满鲜美多汁的而又健康的牧草.可惜天不从人愿,他在植物大战人类中败下阵来.邪恶的乳草已经在他的农场的西北部份占领了一片立足之地. 草地像往常一样,被分割成一个高度 ...
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
随机推荐
- MongoDB概述&语法
Nosql DB 这是一个非关系型数据库. 通常我们的数据库有三类: 关系型数据库(RDBMS),联机分析处理数据库(OLAP),和菲关系型数据库(NoSql). MongoDB属于第三种,而且是一 ...
- debian下mysql主从配置
1.确保master/slave只有一份/etc/mysql/my.cnf , 不要在其他地方再有my.cnf (如/etc/my.cnf /usr/local之类) 2.master配置: 在[m ...
- windows下如何对mysql进行整裤备份
通常情况下备份一个数据库,直接单裤备份即可,更完善一点的会要求做到定时单裤备份.然而很多时候又由于裤实例是在太多,这样会导致备份非常耗时,因而有时候需要对整个数据库应用进行备份.那么在windows下 ...
- CocoaPods 使用本地代码
CocoaPods使用方法 http://iiiyu.com/2013/12/19/learning-ios-notes-thirty-one/ 使用本地方代码的方法如下,下面建立一个名为downlo ...
- 5.前端笔记之jquery部分
一.简介 jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多).jQuery在2006年1月由美国人John Resig在纽约的 ...
- 解决 g++ error:/usr/lib/rpm/redhat/redhat-hardened-cc1 No that file and directory
You need to install redhat-rpm-config which is required by some of the qt switches, probably: sudo d ...
- Java 全半角转换
* 全角转半角的 转换函数* @return String*/public static final String full2HalfChange(String QJstr){StringBuffer ...
- 山峰(codevs 1531)
1531 山峰 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description Rocky山脉有n个山峰,一字排开,从 ...
- WMI
https://wiki.jenkins-ci.org/display/JENKINS/Windows+slaves+fail+to+start+via+DCOM#Windowsslavesfailt ...
- 菜鸟学SSH(十五)——简单模拟Hibernate实现原理
之前写了Spring的实现原理,今天我们接着聊聊Hibernate的实现原理,这篇文章只是简单的模拟一下Hibernate的原理,主要是模拟了一下Hibernate的Session类.好了,废话不多说 ...