正文

Zju 1229 Gift?!2006-08-01 21:55:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/cruxd/17099.html

分享到:

1991363 2006-08-01 21:38:49 Accepted 1229 C++ 00:00.00 392K St.Crux

这个题其实是取巧了。可以证明,当n>=50时均有解。(怎么证??)

而且是自从共和元年史官们拿起笔和墨以来——也许他们拿的是苹果刀和竹子——我第一次在zoj的效率排名上排到第一页,尽管这排名是多么的虚幻和浮于流表.......

其实抛开这个50,题目还是简单的.....oibh的第一题米。类似于bfs的dp,以每一步为状态,跳到则标1。哦,我是标一个步数。

#include <cstdio>
#include <string>

int m, n, g;
int a[49];

int main()
{
 //freopen("in.txt", "r", stdin);
 while(scanf("%d %d", &n, &m) && m | n)
 {
  g = 0;
  memset(a, 0, sizeof(a));
  a[0] = 1;
  if(n < 50)
  {
   int got = 1;
   int c = 2;
   while(got && !a[m - 1])
   {
    got = 0;
    for(int i = 0; i < n; i ++)
    {
     if(a[i] == c - 1)
     {
      int i0 = i + 2 * c - 1;
      int i1 = i - 2 * c + 1;
      if(i0 < n)
      {
       got = 1;
       a[i0] = c;
      }
      if(i1 >= 0)
      {
       got = 1;
       a[i1] = c;
      }
     }
    }
    c ++;
    //pn();
   }
   if(a[m - 1])
    g = 1;
  }
  else
   g = 1;
  if(g)
   printf("Let me try!\n");
  else
   printf("Don't make fun of me!\n");
 }
 return 0;
}

阅读(4076) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册