zoukankan      html  css  js  c++  java
  • UVALive 5797 In Braille

    题目

    比赛总结

    题意:给出1-9的盲文,每种盲文都是2×3的点阵,有些点是凸起的用*表示,其余的用.表示。要进行两种操作,1 把盲文变成数字,2 把数字变成盲文

    解法:按规则模拟。。。。注意读入的每个盲文之间有空格隔开,如果用gets读要消息空格和换行

    //time 3ms
    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    const int MAXN = 5005;
    using namespace std;
    char str[10][10]={"011100","100000","101000","110000","110100","100100","111000","111100","101100","011000"};
    char st[MAXN][10];
    int main()
    {
        //freopen("/home/moor/Code/input","r",stdin);
        int n;
        char a[MAXN],op[5];
    
        while(scanf("%d",&n)&&n)
        {
            scanf("%s",op);
            if(op[0]=='S')
            {
                scanf("%s",a);
                for(int i = 0; i < 3; i++)
                {
                    for(int j = 0; a[j]; j++)
                    {
                        int p=a[j]-'0';
                        if(str[p][i*2]=='1') printf("*");
                        else printf(".");
                        if(str[p][i*2+1]=='1') printf("*");
                        else printf(".");
                        if(j!=(int)strlen(a)-1)
                            printf(" ");
                    }
                    printf("
    ");
                }
    
            }
            else
            {
                for(int i = 0; i < 3; i++)
                {
                    a[0]='';
                    while(a[0]=='') gets(a);
                    for(int j = 0,k=0; a[j]; j+=3,k++)
                    {
    
                        if(a[j]=='*') st[k][i*2]='1';
                        else st[k][i*2]='0';
                        if(a[j+1]=='*') st[k][i*2+1]='1';
                        else st[k][i*2+1]='0';
                    }
                }
                for(int i = 0; i < n; i++)
                {
                    st[i][6]='';
                    for(int j = 0; j < 10; j++)
                    {
                        if(strcmp(str[j],st[i])==0)
                        {
                            printf("%d",j);
                            break;
                        }
                    }
                }
                printf("
    ");
            }
        }
        return 0;
    }



  • 相关阅读:
    hdu 5517 Triple(二维树状数组)
    bzoj 3998: [TJOI2015]弦论(后缀自动机)
    hdu 5008 Boring String Problem(后缀数组+rmq)
    hdu 4622 Reincarnation(后缀自动机)
    hdu 6025 card card card(双指针)
    寒武纪camp Day3
    寒武纪camp Day2
    寒武纪camp Day1
    Codeforces 920G(二分+容斥)
    Codeforces 920E(补图BFS)
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3297015.html
Copyright © 2011-2022 走看看