标签:-o The ack 思路 element bubuko memory def form
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 36 Accepted Submission(s):
8
#include <iostream> #include<cstring> #include<string> #include<cstdio> #include<algorithm> #include<cmath> #include<deque> #define ll long long using namespace std; char a[10005]; char b[10005]; deque<int>q1,q2; int main() { while(cin>>a>>b) { while(!q1.empty ()) q1.pop_back(); while(!q2.empty ()) q2.pop_back(); int la=strlen(a); int lb=strlen(b); int c1=0; int c2=0; for(int i=0;i<la;i++) { if(a[i]==‘c‘) { q1.push_back(3); c1++; } else if(a[i]==‘a‘) { if(q1.empty ()) { q1.push_back(1); continue; } if(q1.back()==1) { q1.pop_back(); } else if(q1.back()==2) { if(i<la-1&&a[i+1]==‘b‘) { q1.pop_back(); i++; if(q1.empty ()||q1.back ()!=1) { q1.push_back (1); } else if(q1.back ()==1) { q1.pop_back(); } } else q1.push_back (1); } else q1.push_back (1); } else if(a[i]==‘b‘) { if(q1.empty ()) { q1.push_back(2); continue; } if(q1.back()==2) { q1.pop_back(); } else if(q1.back()==1) { if(i<la-1&&a[i+1]==‘a‘) { q1.pop_back(); i++; if(q1.empty ()||q1.back ()!=2) { q1.push_back (2); } else if(q1.back ()==2) { q1.pop_back(); } } else q1.push_back(2); } else q1.push_back(2); } } for(int i=0;i<lb;i++) { if(b[i]==‘c‘) { q2.push_back(3); c2++; } else if(b[i]==‘a‘) { if(q2.empty ()) { q2.push_back(1); continue; } if(q2.back()==1) { q2.pop_back(); } else if(q2.back()==2) { if(i<lb-1&&b[i+1]==‘b‘) { q2.pop_back(); i++; if(q2.empty ()||q2.back ()!=1) { q2.push_back (1); } else if(q2.back ()==1) { q2.pop_back(); } } else q2.push_back (1); } else q2.push_back (1); } else if(b[i]==‘b‘) { if(q2.empty ()) { q2.push_back(2); continue; } if(q2.back()==2) { q2.pop_back(); } else if(q2.back()==1) { if(i<lb-1&&b[i+1]==‘a‘) { q2.pop_back(); i++; if(q2.empty ()||q2.back ()!=2) { q2.push_back (2); } else if(q2.back ()==2) { q2.pop_back(); } } else q2.push_back(2); } else q2.push_back(2); } } bool f=1; if(c1!=c2||q1.size()!=q2.size()) f=0; else { while(!q1.empty ()) { if(q1.front() ==1&&q2.front() ==2) { q1.pop_front (); q2.pop_front (); if(q1.empty ()) { f=0; break; } else if(q1.front() ==2&&q2.front() ==1) { q1.pop_front (); q2.pop_front (); } else { f=0; break; } } else if(q1.front() ==2&&q2.front() ==1) { q1.pop_front (); q2.pop_front (); if(q1.empty ()) { f=0; break; } else if(q1.front() ==1&&q2.front() ==2) { q1.pop_front (); q2.pop_front (); } else { f=0; break; } } else if(q1.front()==q2.front ()) { q1.pop_front(); q2.pop_front(); } else { f=0; break; } } } if(f) printf("Yes\n"); else printf("No\n"); } return 0; }
CCPC2018-湖南全国邀请赛 G String Transformation
标签:-o The ack 思路 element bubuko memory def form
原文地址:https://www.cnblogs.com/caiyishuai/p/9062114.html