比赛 20140713上午练习 评测结果 AWAWWAAWWW
题目名称 调试LED灯 最终得分 40
用户昵称 1azyReaper 运行时间 0.441 s
代码语言 C++ 内存使用 0.32 MiB
提交时间 2014-07-13 09:53:20
显示代码纯文本
#include <fstream>
#include <string>
#define MAX 50002
using namespace std;
ifstream fin("testled.in");
ofstream fout("testled.out");
int led[34],l,n;
string cm,cm1; 
//char change[MAX];
int bex1()
{
	for(int i=1;i<=l;i++)
		led[i]=1;
	return 0;
}
int bex2()
{
	for(int i=1;i<=l;i++)
		led[i]=0;
	return 0;
}
int bex3()
{
	for(int i=1;i<=l;i++)
	{
		if(led[i]==1)
			led[i]=0;
		else
			led[i]=1;
	}
	return 0;
}
int bex4()
{
	for(int i=l;i>=1;i--)
	{
		if(i%2!=0)
		{
			if(led[i]==1)
				led[i]=0;
			else
				led[i]=1;
		}
	}
	return 0;
}
int bex5()
{
	for(int i=l;i>=1;i--)
	{
		if(i%2==0)
		{
			if(led[i]==1)
				led[i]=0;
			else
				led[i]=1;
		}
	}
	return 0;
}
int bex6(int x)
{
	int k;
	k=l-x+1;
	for(int i=1;i<=x;i++)
	{
		led[i]=0;
	}
	for(int i=k;i<=l;i++)
	{
		led[i]=1;
	}
	return 0;
}
int main()
{
	int ans=0;
	int x;
	fin>>l;
	fin>>cm;
	for(int i=1;i<=l;i++)
	{
		led[i]=int(cm[i-1]-'0');
		//fout<<led[i]<<' ';
	}
	//fout<<endl;
	fin>>n;
	fin>>cm1;
	for(int i=1;i<=n;i++)
	{
		//fout<<cm1[i-1]<<' ';
		if(cm1[i-1]=='a')
			bex1();
		else
		{
			if(cm1[i-1]=='b')
				bex2();
			else
			{
				if(cm1[i-1]=='c')
					bex3();
				else
				{
					if(cm1[i-1]=='1')
						bex4();
					else
					{
						if(cm1[i-1]=='2')
							bex5();
						else
						{
							x=int(cm1[i-1]-'0');
								bex6(x);
						}
					}
				}
			}
		}
	}
	for(int i=1;i<=l;i++)
	{
		fout<<led[i];
		if(led[i]==1)
			ans++;
	}
	fout<<endl<<ans<<endl;
	fin.close();
	fout.close();
	return 0;
}