ABC035_B
文字列のカウント
string str = "a1a2a3a4a5a6"; int cnt = count(str.begin(),str.end(),'a');//6
#include <bits/stdc++.h> using namespace std; struct Initializer { Initializer() { cin.tie(0); ios::sync_with_stdio(0); cout << fixed << setprecision(15); } } initializer; int main() { string s; int t;//t==1 max, t==2 min int x=0,y=0; int ans=0; cin>>s>>t; int cnt = count(s.begin(),s.end(),'?'); for(int i=0;i<s.size();i++){ switch(s[i]){ case 'U':y++;break; case 'D':y--;break; case 'L':x--;break; case 'R':x++;break; } } if(t==1){//max ans = abs(x)+abs(y)+cnt; }else{//min for(int i=0;i<cnt;i++){ if(!(x==0 && y==0)){//原点以外 if(x>0)x--; else if(x<0)x++; else if(y>0)y--; else if(y<0)y++; }else{//原点 x++; } } ans = abs(x)+abs(y); } cout<<ans<<endl; return 0; }