50分求助!
  • 板块P1885 Moo
  • 楼主Tang_xy
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/12/29 13:26
  • 上次更新2023/12/29 13:41:51
查看原帖
50分求助!
1046969
Tang_xy楼主2023/12/29 13:26
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,l[1005];
char k(int x,int y){
	if(x==0){
		if(y==1){
			return 'm';
		}else{
			return 'o';
		}
	}
	if(y>l[m-1]+1&&y<=l[m-1]+m+2){
		return 'o';
	}else if(y==l[m-1]+1){
		return 'm';
	}else if(y<=l[m-1]){
		return k(x-1,y);
	}
	else{
		return k(x-1,y-l[m-1]-3-x);
	}
}
signed main(){
	cin >> n;
	l[0]=3;
	for(int i=1;l[i-1]<n;i++){
		l[i]=l[i-1]*2+1+i+2;
		m=i;
	}
	char h=k(m,n);
	if(n==0){
		cout << 'm';
	}
	cout << h;
	return 0;
}

只有第一个‘m’过了,其他都输出的'o',过了1,2,3,7,9

2023/12/29 13:26
加载中...