题意:给定一条河的宽度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!");}
}