背景

USACO OCT09 6TH

描述

Farmer John一直努力让他的草地充满鲜美多汁的而又健康的牧草。可惜天不从人愿,他在植物大战人类中败下阵来。邪恶的乳草已经在他的农场的西北部份佔领了一片立足之地。

草地像往常一样,被分割成一个高度為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星期后佔领整片土地。

输入格式

* 第一行: 四个由空格隔开的整数: X, Y, Mx, My

* 第2到第Y+1行: 数据的第y+1行由X个字符("."表示草地,"*"表示大石),描述草地的
第(Y+2-y)行。

输出格式

* 第一行: 一个单独的整数表示最后一个不是大石块的格子被乳草佔领的星期数。

测试样例1

输入

4 3 1 1 
.... 
..*. 
.**.

输出

4

代码

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<queue>
 5 #include<algorithm>
 6 using namespace std;
 7 int N,M,P,dep,ans,X,Y,map[105][105],
 8     dx[15]={ 1,1,1, 0,0,-1,-1,-1},
 9     dy[15]={-1,0,1,-1,1,-1, 0, 1};
10 char juzhen[105][105];
11 struct cc{
12     int x,y;
13 }q1;
14 queue<cc> que;
15
16
17 void init_(){
18     memset(map,-1,sizeof(map));
19     scanf("%d%d%d%d",&N,&M,&X,&Y);//M行 N列
20     for(int i=M;i>=1;i--){
21         scanf("%s",juzhen[i]+1);
22     }
23     q1.x=Y;q1.y=X;
24     que.push(q1);
25     map[Y][X]=0;
26 }
27
28 void print(){
29     for(int i=1;i<=M;i++){
30         for(int j=1;j<=N;j++){
31             printf("%-3d",map[i][j]);
32         }
33         puts("");
34     }
35     puts("");
36 }
37
38 int main(){
39 //    freopen("01.txt","r",stdin);
40     init_();
41
42     while(!que.empty()){
43         q1=que.front();que.pop();
44         for(int i=0;i<8;i++){
45             int xx=q1.x+dx[i],yy=q1.y+dy[i];
46             if(xx<1||yy<1||xx>M||yy>N) continue;
47             if(juzhen[xx][yy]=='*') continue;
48             if(map[xx][yy]>=0) continue;
49             cc q2;q2.x=xx;q2.y=yy;
50             que.push(q2);
51             map[xx][yy]=map[q1.x][q1.y]+1;
52             ans=max(ans,map[xx][yy]);
53         }
54 //        print();
55     }
56     printf("%d\n",ans);
57     return 0;
58 }

这输入方式我整个人都不好了,n和m搞混,x和y搞混,

样例还如此飘逸,根本不知道x和y反了!!!

转载于:https://www.cnblogs.com/radiumlrb/p/5797027.html

TYVJ P1030 乳草的入侵 Label:跳马问题相关推荐

  1. Tyvj P1030 乳草的入侵

    描述 Farmer John一直努力让他的草地充满鲜美多汁的而又健康的牧草.可惜天不从人愿,他在植物大战人类中败下阵来.邪恶的乳草已经在他的农场的西北部份佔领了一片立足之地. 草地像往常一样,被分割成 ...

  2. tyvj p1030 乳草的入侵

    原题链接: http://www.tyvj.cn/p/1030 具体实现如下: #include<stdio.h> #include<string.h> #include< ...

  3. bzoj 3406: [Usaco2009 Oct]Invasion of the Milkweed 乳草的入侵

    3406: [Usaco2009 Oct]Invasion of the Milkweed 乳草的入侵 Time Limit: 3 Sec  Memory Limit: 128 MB Submit:  ...

  4. CH2907 乳草的入侵 BFS

    题目链接 http://noi-test.zzstep.com/contest/0x29%E3%80%8C%E6%90%9C%E7%B4%A2%E3%80%8D%E7%BB%83%E4%B9%A0/2 ...

  5. 计蒜客————乳草的侵占

    Farmer  John一直努力让他的草地充满鲜美多汁的而又健康的牧草.可惜天不从人愿,他在植物大战人类中败下阵来.邪恶的乳草已经在他的农场的西北部份佔领了一片立足之地. 草地像往常一样,被分割成一个 ...

  6. 坑!计蒜客——乳草的侵占

    计蒜客--乳草的侵占(BFS) BFS一直写不会,可能是多加了个队列,写起来不是太容易.不过最近还是稍微入门了BFS,跟DFS差别不太大,还是由三个部分组成--出口.标记.枚举. DFS的主要的思想就 ...

  7. 计蒜客:乳草的侵占(BFS)

    样例输入 4 3 1 1 .... ..*. .**. 样例输出 4 题解 一定注意 u,vu,v 的位置处理. 这道题目想必你已经可以直接想到bfs搜索了吧.把整个图遍历一遍,顺便记录下步数就可以了 ...

  8. DFS与BFS的总结

    一般来说是BFS比较快的吧.因为没有递归,runtime_error一般就是内存溢出,就是越界了! BFS一般用来搜索最短路径最好,DFS用来搜索能不能到达目的地之类的 BFS与DFS的讨论:BFS: ...

  9. 进击高手【第四期】(bfs)

    bfs 定义 宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型.Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的 ...

最新文章

  1. R in Action 读书笔记(5)
  2. Android的IPC机制(一)——AIDL的使用
  3. 【转载】c#多线程使用webbrowser控件
  4. matlab模拟钢琴演奏
  5. BigData预处理(完整步骤)
  6. 生产者和消费者代码———操作系统_操作系统基础15-生产者消费者问题
  7. figma下载_何时在Figma中使用组或框架
  8. IE9下apply的使用方式
  9. react hooks_React Hooks简介
  10. GitHub | 周志华《机器学习》手推笔记正式开源!可打印版本附pdf下载链接
  11. python 2.7.11 linux,Python-2.7.11+Django-1.9.4安装配置
  12. ElementUI:路由界面刷新后导航栏仍显示default-active不跟随路由变化
  13. Ubuntu系统安装 - 单系统
  14. Zabbix监控结合Grafana绘图
  15. 【51单片机】(五)矩阵键盘
  16. 2020中国互联网十大人物
  17. 扩增子图表解读4曼哈顿图:差异OTU或Taxonomy
  18. 快速刷通PWN的第一天
  19. 前端 html,css 经典面试题 16道 (20220322)
  20. 计算机初级证书 英语怎么说,常见职业资格证书英文翻译(含英语、计算机等)...

热门文章

  1. labuladong 的算法小抄_来自GitHub 68.8k star的硬核算法教程
  2. linux创建文件内容三行,shell之创建文件及内容的方法示例
  3. @kafkalistener中id的作用_SSM框架(十一):Spring框架中的IoC(1)
  4. Java捕获异常密码_Java捕获异常的问题
  5. 禁用win10触摸屏手势_Win10平板边缘滑动手势大全及开启/关闭方法
  6. python基础面试都问什么问题_基本 Python 面试问题
  7. sqoop同步时间戳到mysql_在sqoop导入中使用24小时时间戳
  8. 工程图标注粗糙度_Inventor教程之工程图标注实例
  9. 正确使用计算机说课稿,《初识计算机》说课稿
  10. 常见的技术类英文字母含义总结,Localhost、SDK、URL 等(持续更新中)