记录编号 111629 评测结果 AWAWWAAAAA
题目名称 调试LED灯 最终得分 70
用户昵称 Gravatarslyrabbit 是否通过 未通过
代码语言 C++ 运行时间 0.967 s
提交时间 2014-07-13 18:14:56 内存使用 0.31 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
unsigned int x,temp,s=0;
int l,n,ans[35];
void f(char a)
{
	if(a=='a')
	{
		x|=(1<<32)-1;
	}
	if(a=='b')
	{
		x=0;
	}
	if(a=='c')
	{
		x^=(1<<l)-1;
	}
	if(a=='1')
	{
		for(unsigned int i=1;i<=l;i+=2)
		{
			x^=(1<<i)-1;
			x^=(1<<i-1)-1;
		}
	}
	if(a=='2')
	{
		for(unsigned int i=2;i<=l;i+=2)
		{
			x^=(1<<i)-1;
			x^=(1<<i-1)-1;
		}
	}
	if(a>'2'&&a<='9')
	{
		x&=(1<<(l-(a-'0')))-1;
		x|=(1<<a-'0')-1;
	}
}
int main()
{
	freopen("testled.in","r",stdin);
	freopen("testled.out","w",stdout);
	unsigned char a;
	string str;
	cin>>l>>str>>n;
	for(int i=l-1,p=0;i>=0;i--)
	{
		x+=(str[i]-'0'&1)*(1<<p);
		p++;
	}
	for(int i=1;i<=n;i++)
	{
		cin>>a;
		f(a);
	}
	temp=x;
	for(int i=1;i<=l;i++)
	{
		if(temp&1==1)
			s++;
		temp>>=1;
	}
	for(int i=l;i>=1;i--)
	{
		ans[i]=x&1;
		x>>=1;
		if(x==0)
			break;
	}
	for(int i=1;i<=l;i++)
	{
		cout<<ans[i];
	}
	cout<<endl<<s<<endl;
	return 0;
}