zoukankan      html  css  js  c++  java
  • poj2083

    简单题

    View Code
    #include <iostream>
    #include
    <cstdio>
    #include
    <cstdlib>
    #include
    <cstring>
    #include
    <cmath>
    using namespace std;

    #define maxn 800

    char map[maxn][maxn];

    void make(int n)
    {
    int each = pow(double(3), n - 2);
    for (int i = 0; i < each; i++)
    for (int j = 0; j < each; j++)
    map[i
    + each * 2][j] = map[i + each * 2][j + each * 2] = map[i][j + each * 2] = map[i + each][j + each] = map[i][j];
    }

    int findlast(int n, int size)
    {
    int ret = size;
    while (map[n][ret - 1] == 0)
    ret
    --;
    return ret;
    }

    void print(int n)
    {
    int size = pow(double(3), n - 1);
    for (int i = 0; i < size; i++)
    {
    int temp = findlast(i, size);
    for (int j = 0; j < temp; j++)
    if (map[i][j])
    printf(
    "X");
    else
    printf(
    " ");
    printf(
    "\n");
    }
    printf(
    "-\n");
    }

    int main()
    {
    //freopen("t.txt", "r", stdin);
    memset(map, 0, sizeof(map));
    map[
    0][0] = 'X';
    for (int i = 2; i <= 7; i++)
    make(i);
    int n;
    while (scanf("%d", &n), n != -1)
    print(n);
    return 0;
    }

  • 相关阅读:
    Ubuntu下 实现Linux与Windows的互相复制与粘贴
    bzoj2426
    bzoj1835
    bzoj1197
    bzoj1049
    bzoj2893
    bzoj1820
    bzoj1819
    bzoj1455
    bzoj3689
  • 原文地址:https://www.cnblogs.com/rainydays/p/2073856.html
Copyright © 2011-2022 走看看