题意:给定一条河的宽度n单位和要跳的位置m,每次要跳2*i-1单位,可以前后跳,问能否到达m。
思路:搜索。河宽大于50的话是一定可以跳过去的,小于50的向下搜索一下就可以了。
code:
#include <bits/stdc++.h>
using namespace std;
int n,m;
int dfs(int s,int p){
if (s==m) return 1;
int l=2*p-1;
if (s+l<=n&&dfs(s+l,p+1)) return 1;
if (s-l>0&&dfs(s-l,p+1)) return 1;
return 0;
}
int main()
{
while (~scanf("%d %d",&n,&m),n+m){
if (n>=49) puts("Let me try!");
else if(dfs(1,2)) puts("Let me try!");
else puts("Don't make fun of me!");
}
}