zoukankan      html  css  js  c++  java
  • poj1120

    模拟

    View Code
    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    using namespace std;
    
    #define maxd 20
    #define d_length 16
    #define dish_side 20
    #define maxl 25
    
    int d[maxd];
    int n;
    int dish[2][maxl][maxl];
    int dir[5][2] =
    {
    { 0, 0 },
    { 0, 1 },
    { 1, 0 },
    { 0, -1 },
    { -1, 0 } };
    char table[5] = ".!X#";
    
    void input()
    {
        scanf("%d", &n);
        for (int i = 0; i < d_length; i++)
            scanf("%d", &d[i]);
        for (int i = 1; i <= dish_side; i++)
            for (int j = 1; j <= dish_side; j++)
                scanf("%d", &dish[0][i][j]);
    }
    
    int cal(int a, int b, int c)
    {
        int ret = 0;
        for (int i = 0; i < 5; i++)
            ret += dish[a][b + dir[i][0]][c + dir[i][1]];
        ret = dish[a][b][c] + d[ret];
        if (ret > 3)
            ret = 3;
        if (ret < 0)
            ret = 0;
        return ret;
    }
    
    void work()
    {
        for (int i = 1; i <= n; i++)
            for (int j = 1; j <= dish_side; j++)
                for (int k = 1; k <= dish_side; k++)
                    dish[i & 1][j][k] = cal((i & 1) ^ 1, j, k);
    }
    
    void output()
    {
        for (int i = 1; i <= dish_side; i++)
        {
            for (int j = 1; j <= dish_side; j++)
                putchar(table[dish[n & 1][i][j]]);
            puts("");
        }
    }
    
    int main()
    {
        //freopen("t.txt", "r", stdin);
        memset(dish, 0, sizeof(dish));
        input();
        work();
        output();
        return 0;
    }
  • 相关阅读:
    Node的Buffer
    node中定时器的“先进”用法
    比较setImmediate(func),setTimeout(func),process.nextTick(func)
    node.js事件触发
    node.js express的安装过程
    ”靠谱的C#“单例模式
    JS性能消耗在哪里?
    如何建立索引
    优化之sitemap+RSS
    优化のzencart URL &zenid=.....
  • 原文地址:https://www.cnblogs.com/rainydays/p/2845711.html
Copyright © 2011-2022 走看看