0tps 自己测的都对... 求助大佬+关注
查看原帖
0tps 自己测的都对... 求助大佬+关注
366430
AndyC楼主2023/6/23 22:03

P1365

#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;
		c=getchar();
		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;
} 
2023/6/23 22:03
加载中...