1. 程式人生 > >P4868 天天和不可描述

P4868 天天和不可描述

algo 放心 height code cnblogs pac name get 方向

http://www.tyvj.cn/p/4868

技術分享

思路:

  本想用站做的,但發現要用很多站同時做,還要來回倒。

  我怕超時,所以換了種做法。

  因為每遇到一次括號都要把輸出方向改變,而括號是成對存在的,所以不用擔心會走錯(放心模擬就行)。

  還有就是,遇到括號是要進行轉跳的,所以預處理出,對應括號的位置即可。

  然後模擬著走就ok。

#include<iostream>
#include<queue>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include
<cmath> #include<vector> using namespace std; #define N 500009 char s[N]; int len; int cnt,l[N],last[N],x,dir; int main() { cin>>(s+1); len=strlen(s+1); for(int i=1;i<=len;i++) { if(s[i]==() l[++cnt]=i; else if(s[i]==)) { last[i]
=l[cnt];// last[l[cnt--]]=i; // } } dir=1;x=1; while(x>=1&&x<=len) { if(last[x]) { x=last[x]; dir*=-1; } else printf("%c",s[x]); x+=dir; } return 0; }

P4868 天天和不可描述