必威体育Betway必威体育官网
当前位置:首页 > IT技术

牛吃草问题

时间:2019-10-31 23:44:38来源:IT技术作者:seo实验室小编阅读:75次「手机版」
 

牛吃草问题

题目描述

AA 家里养了一头老黄牛,并且在后院里种了几株草。更精确的说,若把后院视为平面坐标系,并给定两个正整数 N, MN,M,那么在所有满足 1 \le i \le N1≤i≤N 和 1 \le j \le M1≤j≤M 的整数坐标位置 (i, j)(i,j) 都种了一株草。

现在 AA 用一条伸缩能力为 rr 的绳子把老黄牛绑在坐标 (x, y)(x,y) 的位置 (r, x, yr,x,y 必须是整数)。这条绳子很奇特,可以让老黄牛吃到所有坐标在 (i, j)(i,j) 且满足 |x - i| + |y - j| \le r∣x−i∣+∣y−j∣≤r 的草。

另外 AA 希望老黄牛吃尽可能多的草,所以 AA 绑老黄牛的位置一定会满足 r + 1 \le x \le N - rr+1≤x≤N−r 以及 r + 1 \le y \le M - rr+1≤y≤M−r。(为什么这样能使老黄牛吃尽可能多的草呢?请大家自己意会~)

老黄牛非常贪吃,会把所有能吃到的草啃食殆尽,现在给你 AA 家后院被老黄牛啃食完毕的景况,也就是每个坐标 (i, j)(i,j) 的草是否被吃掉。请回答 AA 所使用的绳子的伸缩能力为多少,以及老黄牛被绑的位置坐标。

有办法证明,在此叙述的限制下,可能的答案至多只有一种,且保证给定的数据答案一定存在。

输入描述

第一行有一个正整数 TT (T \le 100T≤100),代表有几组数据。

接着每个数据的第一行有两个正整数 N, MN,M (1 \le N, M \le 201≤N,M≤20) 代表 AA 家后院有种草的坐标范围。接着还有 NN 行,每行有一个长度为 MM 且由 ‘#’ 和 ‘.’ 两种字符组成的字符串,若当中的第 ii 个字符串的第 jj 个字符为 ‘#’,代表坐标在 (i, j)(i,j) 的草没被老黄牛吃掉;相对的,若为 ‘.’,则代表该坐标的草被老黄牛吃掉了。

输出描述

对于每组数据,输出一行包含三个整数 r, x, yr,x,y 代表绳子的伸缩能力和老黄牛被绑的坐标位置。

样例输入 1

3

5 6

###.##

##…#

#…

##…#

###.##

4 3

##.

1 1

.

样例输出 1

2 3 4

0 3 3

0 1 1

C语言代码

#include<stdio.h>
int main()
{
	int n, s, h, i, j, k; 
	scanf("%d", &n);
	while (n)
	{
		int max = 0, z1 = 0, z2 = 0, rs =0, rh =0, r;
		char arr[20][20];
		n--;
		scanf("%d %d", &s,&h);
		for (i = 0; i<s; i++)
		{
			getchar();
			for (j = 0; j < h; j++)
				arr[i][j] = getchar();
        }
		for (i = 0; i < s; i++)
		{
			for (j = 0; j < h; j++)
			{
				if (arr[i][j] == '.')
				{
					z1 = j; //记录.开始出现的行位置
					z2 = j;//记录.结尾的行位置
					r = 0;//半径媒介
					for (j++; j<h; j++)
					{
						if (arr[i][j] == '.')
						{
							z2 = j;
							r++;
						}
						else
							j = h;
					}
					j = z2;
					if (r/2>=max)
					{
						max = r/2;//存最大半径
						rs = (z1 + z2)/ 2;//存最大半径的竖数
						rh = i;//存最大半径的行数
					}
				}
			}
		}
		printf("%d %d %d\n", max,rh+1,rs+1);
	}
}

文章最后发布于: 2019-04-28 23:19:08

相关阅读

著作权法_信息网络传播权保护条例_最高人民法院关于审

著作权法:https://www.66law.cn/tiaoli/14.aspx信息网络传播权保护条例:http://www.hncfs.edu.cn/wlxxzx/page.asp?ID=15334&class=

途牛降薪逼迫员工离职 途牛回应查询功能出问题

A5创业网(公众号:iadmin5)7月25日报道,近日途牛内部员工爆料称,途牛目前针对本部门(国内客服部)降薪,单方面给客服降低提成点,由原来4.5%的

解决Go上传文件报错:找不到Boundary的问题

最近要做一个组件,即接收客户端的请求,经过一系列的封装,将请求发送给真正的服务端器。可以理解为:客户端使用Http的Request的Body存

看音乐剧还能遇到几个喜欢且靠谱的演员 票牛网这票还

电影版《放牛班的春天》是我心中最温暖的角落,每次听到那熟悉的旋律心里都会觉得无比温暖,所以音乐剧版门票一开售我就在票牛网下单

有没有一套方法论可以解决所有的问题?

我们每个人都在不停的学习寻求解决问题的方法论,包括我自己也是。但当我对学习的知识进行反思的时候,发现学习的大部分方法论对于解

分享到:

栏目导航

推荐阅读

热门阅读