1.25 A

A - 1

Time limit 2000 ms
Memory limit 262144 kB

Problem Description

Fox Ciel starts to learn programming. The first task is drawing a fox! However, that turns out to be too hard for a beginner, so she decides to draw a snake instead.

A snake is a pattern on a n by m table. Denote c-th cell of r-th row as (r, c). The tail of the snake is located at (1, 1), then it’s body extends to (1, m), then goes down 2 rows to (3, m), then goes left to (3, 1) and so on.

Your task is to draw this snake for Fox Ciel: the empty cells should be represented as dot characters (’.’) and the snake cells should be filled with number signs (’#’).

Consider sample tests in order to understand the snake pattern.

Input

The only line contains two integers: n and m (3 ≤ n, m ≤ 50).

n is an odd number.

Output

Output n lines. Each line should contain a string consisting of m characters. Do not output spaces.

Sample Input

3 3

3 4

5 3

扫描二维码关注公众号,回复: 5071067 查看本文章

9 9

Sample Output

…#

…#

…#

#…

#########
…#
#########
#…
#########
…#
#########
#…
#########

问题链接:A - 1

问题简述:

输入n,m代表n列,m行,也就是m*n(m是长n是宽)
一条贪吃蛇走“己”型不断走

####`
. . . #

#. . .
####`
(#代表蛇身)

问题分析:

我们来看sample input
5 4
要输出
####·
. . . #
####·
#. . .
####·
可见奇数列都输出####,偶数列中4的倍数输出#…,其余都输出…#,所以判断奇偶然后偶数列再划分4的倍数和不是4的倍数输出相应的字符就好

程序说明:

没啥好说的,读懂题目是关键

AC通过的C语言程序如下:

#include <iostream>
using namespace std;

int main()
{
	int n, m;
	cin >> n >> m;
	for (int i = 1;i <= n;i++)
	{

		if (i % 2 == 0)
		{
			if (i % 4 == 0)
			{
				cout << "#";
				for (int j = 1;j < m;j++)
				{
					cout << ".";
				}
				cout << endl;
			}
			else
				{		
					for (int j = 1;j < m;j++)
					{
						cout << ".";
					}
					cout << "#";
					cout << endl;
				}
		}
		if (i % 2 != 0)
		{
			for (int j = 1;j<=m;j++)
			{
				cout << "#";
			}
			cout << endl;

		}

	}
}

猜你喜欢

转载自blog.csdn.net/weixin_44003969/article/details/86645799
今日推荐