A - Fox And Snake

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.

Examples

Input
3 3
Output
###
..#
###
Input
3 4
Output
####
...#
####
Input
5 3
Output
###
..#
###
#..
###
Input
9 9
Output
#########
........#
#########
#........
#########
........#
#########
#........
#########
解题思路:按规律输出,当i为奇数时,输出的一行全部为'#';当i为偶数时,用flag做开关,交换输出两种格式,水过!
AC代码:
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define FOR(a,b,c) for(int i=a;i<=b;++i)printf("%c",c)
 4 int n,m;bool flag;
 5 int main(){
 6     cin>>n>>m;flag=false;
 7     for(int i=1;i<=n;++i){
 8         if(i%2)FOR(1,m,'#');
 9         else{
10             if(!flag){FOR(1,m-1,'.');cout<<'#';flag=true;}
11             else{cout<<'#';FOR(2,m,'.');flag=false;}
12         }
13         cout<<endl;
14     }
15     return 0;
16 }

猜你喜欢

转载自www.cnblogs.com/acgoto/p/9191968.html
Fox