TYVJ P1030 乳草的入侵 Label:跳马问题

背景

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542702.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kotlin中既继承又实现_Kotlin程序| 解决继承中的主要冲突的示例

kotlin中既继承又实现继承中的主要冲突 (Overriding Conflicts in Inheritance) It may appear, we inherit more than one implementation of the same method. 看来&#xff0c;我们继承了同一方法的多个实现。 Need to implement all the methods which we have inherited f…

python雷达图详解_Python简单雷达图绘制

import numpy as np import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams[font.family] SimHei matplotlib.rcParams[font.sans-serif] [SimHei] lables np.array([综合,KDA,发育,推进,生存,输出]) nAttr 6 date np.array([7, 5, 6, 9, 8, 7]) angles…

浏览器兼容问题 透明度 position:fixed bootstrap

浏览器兼容问题&#xff1a;主要是ie8以下&#xff1a; 用bootstrap框架结合jq写页面&#xff0c;因为bootstrap有好多media和html5所以要在引入样式后引入两个js <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --><!-- WARNI…

s查找mysql服务_MySQL菜鸟实录(一):MySQL服务安装实战

CentOS 7基本信息系统版本&#xff1a; CentOS 7.3 64bit系统配置&#xff1a; 4vCPUs | 8GB磁盘空间&#xff1a;[rootecs-ce5a-0001 ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/vda1 40G 17G 22G 44% /devtmpfs 3.9G 0 3.9G 0% /devtmpfs 3.9G 0 3.9G 0% /dev…

实验一 线性表的顺序存储与实现_【自考】数据结构中的线性表,期末不挂科指南,第2篇

线性表这篇博客写的是线性表相关的内容&#xff0c;包括如下部分&#xff0c;先看下有木有期待啥是线性表线性表的顺序存储线性表的基本运算在顺序表上的实现线性表的链式存储线性表的基本运算在单链表上的实现循环链表与双向循环链表Over&#xff0c;内容还蛮多的&#xff01;…

二叉树打印叶子节点,非递归_使用递归打印链接列表中的备用节点

二叉树打印叶子节点,非递归Solution: 解&#xff1a; Input: A singly linked list whose address of the first node is stored in a pointer, say head 输入&#xff1a;一个单链表 &#xff0c;其第一个节点的地址存储在指针中&#xff0c;例如head Output: The alternati…

TYVJ P1012 火柴棒等式 Label:枚举

背景 NOIP2008年提高组第二题描述 给你n根火柴棍&#xff0c;你可以拼出多少个形如“ABC”的等式&#xff1f;等式中的A、B、C是用火柴棍拼出的整数&#xff08;若该数非零&#xff0c;则最高位不能是0&#xff09;。用火柴棍拼数字0-9的拼法如图所示&#xff1a;注意&#xff…

java math max_Java Math类静态double max(double d1,double d2)示例

java math max数学类静态double max(double d1&#xff0c;double d2) (Math Class static double max(double d1,double d2) ) This method is available in java.lang package. 此方法在java.lang包中可用。 This method is used to return the maximum one of both the give…

python怎么开发软件_怎么使用python进行软件开发

一、下载pyinstaller 我使用的版本为PyInstaller-2.1&#xff0c;支持python版本2.3-2.7&#xff0c;点击这里下载。 二、安装pyinstaller 下载完成后&#xff0c;解压即可。我的解压目录为D:\Python27\PyInstaller-2.1\ 三、使用pyinstaller打包.py成.exe应用程序 1.注意使用前…

28、清华大学脑机接口实验组SSVEP数据集:通过视觉触发BCI[飞一般的赶脚!]

前言&#xff1a; 哈喽&#xff0c;最近对清华大学脑机接口的数据进行了尝试&#xff0c;输入到了DL模型中&#xff0c;以下是本人对于清华BCI数据的个人见解。 数据地址&#xff1a; 清华大学脑机接口研究组 (tsinghua.edu.cn) 打开网站可以看到有很多个数据&#xff0c;官…

python Pexpect

http://www.cnblogs.com/dkblog/archive/2013/03/20/2970738.htmlhttp://www.ibm.com/developerworks/cn/linux/l-cn-pexpect2/index.htmlhttp://www.cnblogs.com/dkblog/archive/2013/03/20/2970738.htmlpython Pexpect Pexpect 是一个用来启动子程序并对其进行自动控制的纯 P…

python 幂运算 整数_在Python中检查一个数字是否是另一个数字的幂

python 幂运算 整数To solve this problem simply, we will use the log() function from the math module. The math module provides us various mathematical operations and here we will use the log() function from this module. In Python working of log() function, …

3dmax镜像后模型线条乱了_3dMax入门教程来啦!小白赶紧收藏!

3D Studio Max&#xff0c;常简称为3d Max或3ds MAX&#xff0c;是Discreet公司开发的&#xff08;后被Autodesk公司合并&#xff09;基于PC系统的三维动画渲染和制作软件&#xff0c; 3dmax软件主要功能有建模&#xff0c;动画&#xff0c;渲染&#xff0c;特效等&#xff0c;…

java中哲学家就餐死锁_哲学家就餐问题与死锁总结

死锁的四个条件&#xff1a;(1) 互斥条件&#xff1a;一个资源每次只能被一个进程使用。(2) 请求与保持条件&#xff1a;一个进程因请求资源而阻塞时&#xff0c;对已获得的资源保持不放。(3) 不剥夺条件:进程已获得的资源&#xff0c;在末使用完之前&#xff0c;不能强行剥夺。…

linux扫描工具之nmap

Linux下有很多强大网络扫描工具&#xff0c;网络扫描工具可以分为&#xff1a;主机扫描、主机服务扫描、路由扫描等,nmap支持批量主机扫描和主机服务扫描。检测安装&#xff1a;[rootbier ~]# rpm -qa nmap nmap-5.51-4.el6.x86_64如果没有安装就安装一下nmap的安装直接使用&am…

如何将多个一维列表转化为二维列表_数据分析2_如何处理一维、二维数据

吞一块大饼&#xff0c;还不如切成小块吃得香常见的数据集&#xff0c;要么是数列&#xff0c;要么是表格&#xff1b;因此&#xff0c;数据分析最首要的是&#xff0c;处理一维、二维数据。主要知识点可参考如图。如需要&#xff0c;可点击以下百度网盘链接下载数据分析基础知…

关于java中锁的面试题_Java面试题-Java中的锁

1. 如何实现乐观锁(CAS)&#xff1f;如何避免ABA问题&#xff1f;答&#xff1a;1)读取内存值的方式实现了乐观锁(比如&#xff1a;SVN系统)&#xff0c;方法&#xff1a;第一&#xff0c;比较内存值和期望值&#xff1b;第二&#xff0c;替换内存值为要替换值。2)带参数版本来…

NSUserDefaults

2019独角兽企业重金招聘Python工程师标准>>> NSUserDefaults 转载于:https://my.oschina.net/18829297883/blog/737931

什么是算术运算和逻辑运算_8086微处理器的算术和逻辑运算

什么是算术运算和逻辑运算逻辑指令 (Logical Instructions) a) AND: Logical AND a)AND&#xff1a;逻辑AND Atleast one of the operant should be a register or a memory operant both the operant cannot be a memory location or immediate operant. 操作中的至少一个应该…

python文件读写用到的库_Python使用pyshp库读取shapefile信息的方法

通过pyshp库&#xff0c;可以读写shapefile文件&#xff0c;查询相关信息&#xff0c;github地址为 import shapefile # 使用pyshp库 file shapefile.reader("data\\市界.shp") shapes file.shapes() # print(file.shapetype) # 输出shp类型null 0 point 1 poly…