码迷,mamicode.com
首页 > 其他好文 > 详细

UVA - 10120 Gift?! 暴力+规律

时间:2015-05-03 16:04:07      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

题目大意:有n块石头,礼物在第m块石头上,相邻石头的距离为1,规定小青蛙第一步跳到第一块石头上,接下来的跳跃要符合该规则,假设这是第n次跳跃,那么小青蛙跳跃的距离为(2 * n - 1),且每次跳跃都必须跳到石头上

解题思路:石头数量如果超过49的话,小青蛙就可以跳到任意一块石头上,其他的情况只需暴力dfs就可以解决了

#include<cstdio>
#include<cstring>
int pos, len;

bool dfs(int cur, int time) {
    if(cur == pos)
        return true;
    int l = time * 2 - 1;
    if(cur + l <= len && dfs(cur + l, time + 1))
        return true;
    if(cur - l > 0 && dfs(cur - l, time + 1))
        return true;
    return false;
}

int main() {
    int n, m;
    while(scanf("%d%d",&len, &pos) == 2 && len + pos) {
        if(len >= 50) {
            printf("Let me try!\n");
            continue;
        }
        if(dfs(1,2))
            printf("Let me try!\n");
        else
            printf("Don‘t make fun of me!\n");
    }
    return 0;
}

UVA - 10120 Gift?! 暴力+规律

标签:

原文地址:http://blog.csdn.net/l123012013048/article/details/45459125

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!