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

17.10.04

时间:2017-10-04 12:07:26      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:print   too   pac   cstring   auto   代码   noip   搜索   lld   

  • 中秋节到了呢。
  • 上午
    • 入门OJ 2062: [Noip模拟题]计蒜姬
    • 看似搜索树很大,但仔细观察后发现:

      X=X-X这一操作好像没有用

      X=X/X也就最多提供一个值为1的状态

      那么就只剩下X=X+X和X=X*X这两个搜索方向,而且状态值的增长速度很快,那么一个BFS就好了

      代码:

      #include<queue> 
      #include<cstdio>
      #include<cstring>
      #include<iostream>
      #define ll long long
      #define node(a,b) (node){a,b}
      using namespace std;
      struct node{
      	ll val,stp;
      };
      queue<node> q;
      ll x,y;
      int main(){
      	scanf("%lld%lld",&x,&y);
      	q.push(node(x,0)); if(x!=1)q.push((node(1,1)));
      	node u; ll v;
      	while(!q.empty()){
      		u=q.front(); q.pop();
      		if(u.val==y) {printf("%lld",u.stp); exit(0);}
      		v=u.val*2; if(v<=y) q.push(node(v,u.stp+1));
      		v=u.val*u.val; if(v<=y&&v!=1) q.push((node(v,u.stp+1)));
      	}
      	printf("-1");
      	return 0;
      }
    • 入门OJ
  • 下午
  • 晚上
  • End

17.10.04

标签:print   too   pac   cstring   auto   代码   noip   搜索   lld   

原文地址:http://www.cnblogs.com/zj75211/p/7625192.html

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