20-造房子

问题描述:

Richard最近迷恋上了一款游戏《我的世界》,在游戏里面Richard可以任意开发资源然后建造各种宏伟的建筑。有一天Richard发现了一块荒野的土地上有很多宝藏,Richard想在土地上建一栋房子从而把宝藏包围起来。

假设地图是一个 n 行 m 列的方格地图,地图每个格子*代表一个宝藏。比如 2 行 2 列的地图如下:

 
   
1
**
2
**

Richard对应要建的房子如下:

 
   
1
+-+-+
2
|*|*|
3
+-+-+
4
|*|*|
5
+-+-+

现在Richard告诉你地图的行列数,帮他画出房子的设计图。

输入格式

一行两个整数n,m(0<n,m50),分别表示地图行数和列数。

输出格式

按照题目中要求的格式输出地图。

样例输入1

2 2

样例输出1

+-+-+
|*|*|
+-+-+
|*|*|
+-+-+

样例输入2

3 4

样例输出2

+-+-+-+-+
|*|*|*|*|
+-+-+-+-+
|*|*|*|*|
+-+-+-+-+
|*|*|*|*|
+-+-+-+-+

代码解析:

#include 
using namespace std;
int main()
{
  int n,m;//行 列  2*n+1
  cin>>n>>m;
  for(int i=1; i<=2*n+1; i++)//行 
    {
      if(i%2!=0)//奇数 
        {
          for(int j=1; j<=2*m+1; j++)//列 
            {
              if(j%2!=0)cout<<"+";//奇数+ 偶数- 
              else cout<<"-";
            }
        }
      else//偶数 
        {
          for(int j=1; j<=2*m+1; j++)
            {
              if(j%2!=0)cout<<"|";
              else cout<<"*";
            }
        }
      cout<

你可能感兴趣的:(算法题目)