10878 Decode the tape
怎么说呢,这道题比较悲哀,我本是想看别人代码长度来粗略判断这题难度,哪知道他这道题突然有了注释,一不小心就看到了ASCII. 今天做的时候顺着这个,很快便发现一共有7位,恰能表示128个数.
后面的事就是处理字符串.
我觉得为没看提示的话,应该还是能想出来的.= =|| (自我安慰额)
#include<stdio.h>
#include<string.h>
#include<math.h>
#define LEN 11
int convert(char *buf)
{
int sum = 0, p = 6;
for(int i = 2; i < LEN; i++)
{
if(buf[i] == 'o') sum += pow(2, p);
if(i != 6) p--;
}
return sum;
}
int main()
{
#ifdef LOCAL
freopen("input.txt", "r", stdin);
#endif
char s[LEN+5];
fgets(s, LEN+5, stdin);
while(fgets(s, LEN+5, stdin) && s[0] == '|') printf("%c", (char)convert(s));
return 0;
}
#include<stdio.h>
int main()
{
char c;
int i,j,ans;
while((c=getchar())!=EOF)
{
if(c=='\n')
{
if(!i)putchar(ans);
i=128;ans=0;
continue;
}
if(c=='o'){ans+=i;i/=2;}
if(c==' ')i/=2;
}
return 0;
}
浙公网安备 33010602011771号