#include <bits/stdc++.h>
using namespace std;
const int N=1e8;
int n,step;
long long length_s[N];
void find(int n,int step)
{
if(step==0)
{
if(n==1)
{
cout<<"m";
exit(0);
}
if(n==2||n==3)
{
cout<<"o";
exit(0);
}
}
if(step==1)
{
if(n==1||n==4||n==8)
{
cout<<"m";
exit(0);
}
else
{
cout<<"o";
exit(0);
}
}
long long middle_length=1+(step+2);
long long left_length=(length_s[step]-middle_length)/2;
long long right_length=left_length;
if(n>=left_length+middle_length)//The third block
{
find(n-(left_length+middle_length),step-1);
}
else//The second block
{
if(n-left_length==1)
{
cout<<"m";
exit(0);
}
else
{
cout<<"o";
exit(0);
}
}
}
int main()
{
cin>>n;
step=0;
length_s[0]=3;
while(length_s[step]<n)
{
step++;
length_s[step]=length_s[step-1]*2+1+(step+2);
if(length_s[step]>=n)
{
break;
}
}
find(n,step);
return 0;
}
代码如上(只得了50pts)