P11375 [GESP202412 六级] 树上游走 - 洛谷
一共错了三个点:
#include<bits/stdc++.h>
#define I using
#define AK namespace
#define IOI std
#define i_ak return
#define ioi 0
#define i_will signed
#define ak main
#define IMO ()
#define int long long
I AK IOI;
int n,m;
string s;
deque<char>q;
i_will ak IMO{
cin>>n>>m>>s;
for(int i=0;i<n;i++){
if(s[i]=='U'&&!q.empty()&&(q.back()=='L'||q.back()=='R'))q.pop_back();
else q.push_back(s[i]);
}
while(!q.empty()){
if(q.front()=='U'&&m!=1)m/=2;
else if(q.front()=='L')m*=2;
else m=2*m+1;
q.pop_front();
}
cout<<m;
i_ak ioi;
}