IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    POJ-2993 解题报告

    林 达意发表于 2012-07-15 07:04:28
    love 0

    题意简述

    这题是POJ-2996的逆过程。给出棋盘描述,要求打印出棋盘。

    具体的描述和棋盘格式见POJ-2996。

    算法分析

    这个比2996简单。也是直接模拟。

    开一个二维数组存储8*8棋盘,读入一行后按","拆分,判断是3位还是2位,三位的话按第二三位定位点并存储第一位字符(注意根据黑白区分大小写),二位的话存储P。

    最后按指定格式输出即可。

    Problem Status: AC。时间0ms,内存388k

    程序样例

    #include
    #include
    void output(char a[8][8])
    {
        int i,j;
        printf("+---+---+---+---+---+---+---+---+n");
        for(i=0;i<8;i++)
        {
            printf("|");
            for(j=0;j<8;j++)
            {
                if(a[i][j]==' ')
                    if((i+j)%2==0) printf("...|");
                    else printf("::: |");
                else
                    if((i+j)%2==0) printf(".%c.|",a[i][j]);
                    else printf(":%c: |",a[i][j]);
            }
            printf("n+---+---+---+---+---+---+---+---+n");
        }
    }
    
    int main()
    {
        char t[60];
        char a[8][8];
        int i,j;
        for(i=0;i<64;i++) a[i/8][i%8]=' ';
        scanf("%s",t); scanf("%s",t);
        i=0; j=0;
        while(i


沪ICP备19023445号-2号
友情链接