题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1819
题意:纸带打孔来保持二进制数,打孔便是1,否者为0。这个带子用ASCII保存了一个字符串,一个模拟。用数组使劲RE和WA,无语了。还是一个一个读入过掉的。
代码:
#include <iostream>
#include <cstdio>
using namespace std;
int num[] = {1,1 << 1,1 << 2,1 << 3,1 << 4,1 << 5,1 << 6,1 << 7,1 << 8};
int main()
{
char s;
int xb = 8;
char ts = 0;
while(~(s = getchar()))
{
if(s == '\n')
{
if(xb == 0)
{
cout << ts;
xb = 8;
}
ts = 0;
}else
{
if(s == 'o')
{
ts |= num[xb - 1];
xb--;
}else if(s ==' ')
xb--;
}
}
return 0;
}
梦续代码: http://www.hypo.xyz