HDU1022

【题意】就是问你能否将O1的顺序通过栈转变成O2的顺序;

【题解】模拟栈即可;

 

#include<cstdio>
char f[1000001],w[10];
int a[2000001];
int main()
{
 	 int n;
	 while(scanf("%d",&n)!=EOF)
	 {
		  char ch;
        while(ch=getchar(),ch==' ');
		  for(int i=1;i<=n;i++)f[i]=ch,ch=getchar();
		  while(ch==' ')ch=getchar();
		  int p=0,h=0,t=0;
		  while(ch!='\n')
		  {
		  		   if(t>0&&w[t]==ch){t--,a[++h]=0;while(ch=getchar(),ch==' ');}	  	
		  		    else{
									if(p==n||t==9)break;
									w[++t]=f[++p];
									a[++h]=1;
	  					  }	  
		  }
		  if(ch!='\n'){printf("No.\n");while(ch=getchar(),ch!='\n');}//这一步坑了我不就,没有考虑到; 
		    else	{
			 		 printf("Yes.\n");
			 		 for(int j=1;j<=h;j++)
			 		  if(a[j]==0)printf("out\n");
			 				   else printf("in\n");
				   }
		  printf("FINISH\n");
    }
	return 0;	 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值