UVA 10878 Decode the tape (二进制)

分析:这个题跪了,真没想到他是这样解码规律的,有7个位置,2的7次方=128,正好是ASCII码。(0100000=32正好是空格的ASCII码,而且正好符合输出的空格)

所以这个题就很简单了,每行是一串二进制,o代表1;

解码二进制,之后输出它所对应的字母便可


#include <cstdio>
#include <cstring>

int cun[]={0,0,64,32,16,8,0,4,2,1,0};

int main()
{
    char str[15];
    int ans,i;
    gets(str);
    while (gets(str)&&str[0]!='_')
    {
        ans=0;
        for (int i=2;i<strlen(str);i++)
            if (str[i]=='o') ans+=cun[i];
        printf("%c",ans);
    }
    return 0;
}

你可能感兴趣的:(decode,uva,the,10878)