巅峰赛#25 T1
2025-09-14 22:10:59
发布于:北京
3阅读
0回复
0点赞
按位从右至左计算即可
(详细算法见注释
注意什么会让你见祖宗
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int n;
ll ans,k=1;//k表示权值
string s;
int main(){
cin>>n;
cin>>s;
for (int i=2*n-1;i>=0;i--){//字符串是从0开始的
switch(s[i]){
//以下的位均为四进制位
//以下ans的变化均增加此位的值×权值
case('D'):{//此位为1
ans+=k;
break;
}
case('L'):{//此位为2
ans+=2*k;
break;
}
case('U'):{//此位为3
ans+=3*k;
break;
}
}
k*=4;//权值×4
}
cout<<ans;
return 0;
}
这里空空如也
有帮助,赞一个