记录编号 111155 评测结果 EEETEEEEEE
题目名称 调试LED灯 最终得分 0
用户昵称 Gravatarnoier 是否通过 未通过
代码语言 C++ 运行时间 3.929 s
提交时间 2014-07-13 10:39:31 内存使用 0.13 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<string>
#include<vector>
using namespace std;
int main(){
	freopen("testled.in","r",stdin);
	freopen("testled.out","w",stdout);
	ios::sync_with_stdio(false);
	int L;
	cin>>L;
	vector <bool> led;
	string temp;
	cin>>temp;
	for (int i=0;i<L;i++){
		if (temp[i]=='0') led.push_back(false);
		else led.push_back(true);
	}
	int command_num;
	cin>>command_num;
	string command;
	cin>>command;
	for (int i=0;i<command_num;i++){
		if (command[i]=='a'){
			for (int j=0;i<L;i++)
				led[j]=true;
		}
		else if (command[i]=='b'){
			for (int j=0;i<L;i++)
				led[j]=false;
		}
		else if (command[i]=='c'){
			for (int j=0;i<L;i++){
				if (led[j]) led[i]=false;
				else led[i]=true;
			}
		}
		else if (command[i]=='1'){
			vector<bool>::iterator t=led.end()-1;
			for (int i=1;i<=L;i++){
				if (i%2==1) {
					if (*t) *t=false;
				    else *t=true;
				}
				t--;
			}
		}
		else if (command[i]=='2'){
			vector<bool>::iterator t=led.end()-1;
			for (int i=1;i<=L;i++){
				if (i%2==0) {
					if (*t) *t=false;
				    else *t=true;
				}
				t--;
			}
		}
		else {
			int num=command[i];
			vector<bool>::iterator t=led.end()-1;
			for (int i=0;i<num;i++){
				*t=true;
				t--;
			}
			vector<bool>::iterator iter=led.begin();
			for (int i=0;i<num;i++){
				*iter=false;
				iter++;
			}
		}
	}
	int total=0;
	for (int i=0;i<L;i++){
		if (led[i]) {
			cout<<1;
			total++;
		}
		else cout<<0;
	}
	cout<<endl<<total<<endl;
	return 0;
}