17.10.04
Posted *ZJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了17.10.04相关的知识,希望对你有一定的参考价值。
- 中秋节到了呢。
- 上午
- 入门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的主要内容,如果未能解决你的问题,请参考以下文章