zoukankan      html  css  js  c++  java
  • POJ

    http://poj.org/problem?id=2993

    POJ - 2996的输入输出相反题,直接暴力模拟出棋盘,然后暴力统计。

    不知道会不会出现空的语句,反正直接判了。

    跟焦作的模拟比起来都是小儿科。

    #include<algorithm>
    #include<cmath>
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<map>
    #include<set>
    #include<stack>
    #include<string>
    #include<queue>
    #include<vector>
    using namespace std;
    typedef long long ll;
    
    char g[200][200];
    
    void show() {
        for(int i = 1; i <= 17; ++i) {
            for(int j = 1; j <= 33; ++j) {
                printf("%c", g[i][j]);
            }
            printf("
    ");
        }
    }
    
    int main() {
    #ifdef Yinku
        freopen("Yinku.in", "r", stdin);
    #endif // Yinku
        memset(g, ' ', sizeof(g));
        for(int i = 1; i <= 9; ++i) {
            for(int j = 1; j <= 9; ++j) {
                g[(i - 1) * 2 + 1][(j - 1) * 4 + 1] = '+';
            }
        }
        for(int i = 1; i <= 8; ++i) {
            for(int j = 1; j <= 9; ++j) {
                g[(i - 1) * 2 + 2][(j - 1) * 4 + 1] = '|';
            }
        }
        for(int i = 1; i <= 9; ++i) {
            for(int j = 1; j <= 8; ++j) {
                g[(i - 1) * 2 + 1][(j - 1) * 4 + 2] = '-';
                g[(i - 1) * 2 + 1][(j - 1) * 4 + 3] = '-';
                g[(i - 1) * 2 + 1][(j - 1) * 4 + 4] = '-';
            }
        }
        for(int i = 1; i <= 8; ++i) {
            for(int j = 1; j <= 8; ++j) {
                if(!((i + j) & 1)) {
                    g[(i - 1) * 2 + 2][(j - 1) * 4 + 2] = '.';
                    g[(i - 1) * 2 + 2][(j - 1) * 4 + 3] = '.';
                    g[(i - 1) * 2 + 2][(j - 1) * 4 + 4] = '.';
                } else {
                    g[(i - 1) * 2 + 2][(j - 1) * 4 + 2] = ':';
                    g[(i - 1) * 2 + 2][(j - 1) * 4 + 3] = ':';
                    g[(i - 1) * 2 + 2][(j - 1) * 4 + 4] = ':';
                }
            }
        }
    
        //show();
    
        string s;
        cin >> s;
        cin >> s;
        if(s == "Black:") {
            ;
        } else {
            s += ',';
            string tmp = "";
            int n = s.length();
            for(int i = 0; i < n; ++i) {
                if(s[i] == ',') {
                    if(tmp.length() == 2) {
                        int j = (tmp[0] - 'a' + 1);
                        int i = 9 - (tmp[1] - '0');
                        g[(i - 1) * 2 + 2][(j - 1) * 4 + 3] = 'P';
                    } else {
                        int j = (tmp[1] - 'a' + 1);
                        int i = 9 - (tmp[2] - '0');
                        g[(i - 1) * 2 + 2][(j - 1) * 4 + 3] = tmp[0];
                    }
                    tmp = "";
                } else {
                    tmp += s[i];
                }
            }
            cin >> s;
            cin >> s;
        }
    
        s += ',';
        string tmp = "";
        int n = s.length();
        for(int i = 0; i < n; ++i) {
            if(s[i] == ',') {
                if(tmp.length() == 2) {
                    int j = (tmp[0] - 'a' + 1);
                    int i = 9 - (tmp[1] - '0');
                    g[(i - 1) * 2 + 2][(j - 1) * 4 + 3] = 'p';
                } else {
                    int j = (tmp[1] - 'a' + 1);
                    int i = 9 - (tmp[2] - '0');
                    g[(i - 1) * 2 + 2][(j - 1) * 4 + 3] = char(tmp[0] + 32);
                }
                tmp = "";
            } else {
                tmp += s[i];
            }
        }
    
        show();
    }
    
  • 相关阅读:
    Idea 一些常用的小工具
    玩转SpringBoot之定时任务详解
    mysql 创建自定义函数
    mysql
    一段mysql脚本,生成一些随机数时使用。
    mysql 命令行常用操作与mysql too many connections 解决方法
    如何获取多个分组之后的第一条数据
    Linux aliyun ECS CentOS8 服务器安装Redis 部署集群 ,JDK安装与Tomcat配置
    Redis 各个版本下载地址
    centos7安装mysql5.7(rpm安装版)与 Mysql 权限
  • 原文地址:https://www.cnblogs.com/Inko/p/11721502.html
Copyright © 2011-2022 走看看