不能用模拟double+除法,会爆精度啊!!(long double 也不行)
其实只要根据性质,在序列前后添加即可。
靠,人生中的处女Hack,竟然是被Hack…(受?)
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<functional>
#include<algorithm>
#include<cctype>
using namespace std;
#define MAXN (1000000+10)
//pair<double,int> a[MAXN];
char s[MAXN];
int n,a[MAXN];
int main()
{
scanf("%s",&s);
n=strlen(s);
int l=1,r=n;
for (int i=0;i<n;i++)
{
if (s[i]=='l') a[r--]=i+1;
else a[l++]=i+1;
}
for (int i=1;i<=n;i++) cout<<a[i]<<endl;
}