求助,五颜六色
  • 板块P2027 bf
  • 楼主fjy666
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/3/1 20:47
  • 上次更新2023/11/5 02:32:58
查看原帖
求助,五颜六色
366338
fjy666楼主2021/3/1 20:47

RTRT,代码

#include <cstdio>
#define fo(i_,j_,k_) for(int i_=j_;i_<=k_;++i_)
#define fr(i_,j_,k_) for(int i_=j_;i_>=k_;--i_)
#define It(type_) type_::iterator
#define rg register
#define rtn return
#define il inline

typedef long long ll;
int memory[30005],*ptr;
char cmd[300005],input_[300005],*curr,*input;

int main()
{
	curr = cmd;
	while((*curr = getchar()) && *curr != '$') ++curr;
	*curr = 0;
	*(curr-1) = 0;
	scanf("%*c");

	input = input_;	
	while((*input = getchar())&& *input != '$') ++input;
	*input = 0;
	*(input-1) = 0;
	
	curr = cmd;
	input = input_;
	ptr = memory;
	
//	printf("%s,%s.\n",cmd,input_);
	
	while(*curr != '\0')
	{
		switch(*curr)
		{
			case '<': -- ptr;break;
			case '>': ++ ptr;break;
			case '+': ++ *ptr; break;
			case '-': -- *ptr; break;
			case '.': printf("%c",*ptr);break;
			case ',':
				*ptr = (*input == '\0')? -1 : *input;
				if(*input) ++input;
				break;
			case '[':
				if(*ptr == 0)
					while(*curr != ']')
						++curr;
				break;
			case ']':
				--curr;int cnt = 0;
				while(!(cnt == 0 && *curr == '['))
				{
					if(*curr == ']') ++ cnt; 
					if(*curr == '[') -- cnt; 
					--curr;
				}	
				--curr;
				break;
		}
		++ curr;
	}
	rtn 0;
}

评测记录

本人xxs,勿D。
违规紫衫。

2021/3/1 20:47
加载中...