比赛 |
20140713上午练习 |
评测结果 |
WWWWWWWWWW |
题目名称 |
调试LED灯 |
最终得分 |
0 |
用户昵称 |
努力吧 |
运行时间 |
0.155 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2014-07-13 10:28:58 |
显示代码纯文本
#include<fstream>
#include<cmath>
using namespace std;
int main()
{
ifstream fi("testled.in");
ofstream fo("testled.out");
unsigned a=0;
string s,l;
int n,m;
fi>>n;
fi>>l;
fi>>m;
fi>>s;
for(int i=n-1;i>=0;i--)
{
a=a+(l[i]-'0')*pow(2.0,n-1-i);
}
for(int i=0;i<=m-1;i++)
{
if(s[i]=='a')
{
a=0;
a=~a;
}
else
if(s[i]=='b')
{
a=0;
}
else
if(s[i]=='c')
a=~a;
else
if(s[i]=='1')
{
unsigned b=1434655765/*01010101010101010101010101010101*/;
a=a^b;
}
else
if(s[i]=='2')
{
unsigned c=2863311530/*10101010101010101010101010101010*/;
a=a^c;
}
else
{
int t=s[i]-'0';
int w=pow(2.0,(double)t)-1;
a=a&w;
w=w<<(n-t);
a=a&w;
}
}
int h[50],y=0;
for(int i=1;i<=n;i++)
if(a&1==0)
{
fo<<0;
a=a>>1;
}
else
{
y++;
fo<<1;
a=a>>1;
}
fo<<endl<<y;
return 0;
}