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.
Examples
Input
3 3
Output
..#
Input
3 4
Output
...#
Input
5 3
Output
..#
..
Input
9 9
Output
#########
........#
#########
........
#########
........#
#########
........
#########
当遇到可以除二数时,要输出.,可以除二分两种情况,一为可整除4,一为不可,来判断点在左或在右。
#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 / 2 % 2 == 0)
{
for (int j = 1; j <= m; j++)
{
if (j == 1)
{
cout << '#';
}
else
cout << '.';
if (i == n && j == m)
{
break;
}
if (j == m)
{
cout << endl;
}
}
}
else
for (int j = 1; j <= m; j++)
{
if (j == m)
{
cout << '#';
}
else
cout << '.';
if (i == n && j == m)
{
break;
}
if (j == m)
{
cout << endl;
}
}
}
else
for (int j = 1; j <= m; j++)
{
cout << '#';
if (i == n && j == m)
{
break;
}
if (j == m)
cout << endl;
}
}
return 0;
}
网友评论