这里pos指probability 概率的意思
by AndyC @ 2023-06-23 22:05:26
```char c```不要用```getchar()```输入,要用```cin```
by Albatross_LC @ 2023-08-23 20:37:47
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,a[300005];
struct node{
long double pos,len;
} game[300005];
int main(){
cin>>n;
game[0].len=0;
game[0].pos=0;
for(int i=1;i<=n;i++){
char c;
cin >> c;
if(c=='o') a[i]=1;
else if(c=='x') a[i]=0;
else a[i]=-1; //?
}
for(int i=1;i<=n;i++){
if(a[i]==1) {
game[i].pos=game[i-1].pos+1+2*game[i-1].len;
game[i].len=game[i-1].len+1;
}
else if(a[i]==0){
game[i].len=0;
game[i].pos=game[i-1].pos;
}
else{
game[i].len=(game[i-1].len+1)/2;
game[i].pos=game[i-1].pos+game[i-1].len+0.5;
}
}
cout<<fixed<<setprecision(4)<<game[n].pos;
return 0;
}
```
by Albatross_LC @ 2023-08-23 20:38:34
@[AndyC](https://www.luogu.com.cn/user/366430)
by Albatross_LC @ 2023-08-23 20:40:05