记录编号 348612 评测结果 AAAWAWWAAA
题目名称 单向双轨道 最终得分 70
用户昵称 GravatarZwoi_只会打表抄代码的蒟蒻 是否通过 未通过
代码语言 C 运行时间 0.016 s
提交时间 2016-11-14 15:03:49 内存使用 0.30 MiB
显示代码纯文本
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int l,i,h1,h2,h3,h4,t1,t2,t3;//h1 b qidian,h2 tb tiaodub,h3 tc tiaoduc
char a[30],b[30],tb[30],tc[30],std[30],y[10000][4];
int main()
{
	freopen("track.in","r",stdin);
	freopen("track.out","w",stdout);
	scanf("%d",&l);
	scanf("%s",a+1);//shu chu lu jing
	for(i=0;i<=l-1;i++)
	{
		b[i+1]='a'+i;//qi dian
		std[i+1]='A';
	}
	h1=l;
	h2=h3=1;
	t2=t3=h4=0;
	for(i=l;i>0;i--)
	{
		if(std[a[i]-'a'+1]=='A')
		{
			while(b[h1]!=a[i])
			{
				tb[++t2]=b[h1--];
				std[tb[t2]-'a'+1]='B';
				h4++;
				y[h4][1]=tb[t2];
				y[h4][2]='A';
				y[h4][3]='B';
			}
			h4++;
			y[h4][1]=a[i];
			y[h4][2]='A';
			y[h4][3]='D';
			h1--;
		}
		if(std[a[i]-'a'+1]=='B')
		{
			while(tb[t2]!=a[i])
			{
				tc[++t3]=tb[t2--];
				std[tc[t3]-'a'+1]='C';
				h4++;
				y[h4][1]=tc[t3];
				y[h4][2]='B';
				y[h4][3]='C';
			}
			h4++;
			y[h4][1]=a[i];
			y[h4][2]='B';
			y[h4][3]='D';
			t2--;
		}
		if(std[a[i]-'a'+1]=='C')
		{
			if(tc[t3]!=a[i])
			{
				printf("NO");
				exit(0);
			}
			else
			{
				h4++;
			    y[h4][1]=a[i];
			    y[h4][2]='C';
			    y[h4][3]='D';
			}
			t3--;
		}
	}
	for(i=1;i<=h4;i++)
		printf("%c %c %c\n",y[i][1],y[i][2],y[i][3]);
	return 0;
}