nyoj-150-Train Problem I
#include<stdio.h> #include<string.h> #include<algorithm> #include<math.h> #include<stack> using namespace std; int main() { stack<char> s1; int n,i,wet[50]; char a1[25],a2[25]; while(scanf("%d",&n)!=EOF) { scanf("%s%s",a1,a2); memset(wet,0,sizeof(wet)); int flag=0,temp=0; for(i=0;i<n;i++) { s1.push(a1[i]); wet[temp++]=1; while(!s1.empty()&&flag<n&&s1.top()==a2[flag]) { s1.pop(); wet[temp++]=2; flag++; } } if(flag==n) { printf("Yes.\n"); for(int j=0;j<temp;j++) { if(wet[j]==1) printf("in\n"); if(wet[j]==2) printf("out\n"); } } else printf("No.\n"); printf("FINISH\n"); } return 0; }
这个题的数据有特殊的 比如 进去的大于n个 但是只要出来的是目标就可以
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步