HDU-5945 Fxx and game (BFS)
来源:互联网 发布:数据归一化处理方法 编辑:程序博客网 时间:2024/05/22 04:35
Fxx and game
Accepts: 74
Submissions: 1857
Time Limit: 3000/1500 MS (Java/Others)
Memory Limit: 131072/65536 K (Java/Others)
问题描述
青年理论计算机科学家Fxx给的学生设计了一款数字游戏。
一开始你将会得到一个数X,每次游戏将给定两个参数k,t, 任意时刻你可以对你的数执行下面两个步骤之一:
1.X=X−i(1<=i<=t)
2.2.若X为k的倍数,X=X/k。
现在Fxx想要你告诉他最少的运行步骤,使X变成11。
输入描述
第一行一个整数T(1≤T≤20)表示数据组数。
接下来T行,每行三个数X,k,t(<=1e6)
)
数据保证有解。
输出描述
输出共T行。
每行一个整数表示答案。
输入样例
2
9 2 1
11 3 3
输出样例
4
3
题解:比赛的时候无脑dp+线段树维护。。。后来想了想其实就一个bfs。每一次把所有未出现过的可行解压入队列。
代码:
#include <stdio.h>#include <stdlib.h>#include <iostream>#include <queue>#include <stack>#include <map>#include <algorithm>#include <string.h>#include <vector>#define bababaa printf("!!!!!!!\n")using namespace std;const int N=1e6+10;struct node{int pos,val;}p;int vis[N];int bfs(int x,int k,int t){ if(k==1&&t) return (x+t-2)/t; for(int i=1;i<=x;i++) vis[i]=0; queue<node>q; q.push((node){x,0}); vis[x]=1; while(!q.empty()) { p=q.front(); q.pop(); if(p.pos==1) return p.val; if(p.pos%k==0&&!vis[p.pos/k]) { q.push((node){p.pos/k,p.val+1}); vis[p.pos/k]=1; } int mi=min(t,p.pos-1); for(int i=mi;i>=1;i--) { if(!vis[p.pos-i]) { q.push((node){p.pos-i,p.val+1}); vis[p.pos-i]=1; } else break;//这个剪枝很重要 } }}int main(){ int T,x,k,t; scanf("%d",&T); while(T--) { scanf("%d%d%d",&x,&k,&t); printf("%d\n",bfs(x,k,t)); }}
0 0
- HDU-5945 Fxx and game (BFS)
- HDU-5945 Fxx and game (单调队列与BFS)
- HDU 5945 Fxx and game 单调队列||bfs
- HDU 5945 Fxx and game
- hdu 5945 Fxx and game
- hdu 5945 Fxx and game
- hdu 5945 Fxx and game (dp+单调队列)
- 【HDU 5945】Fxx and game(DP+单调队列)
- HDU 5945 Fxx and game(DP+单调队列)
- hdu 5945 Fxx and game(单调队列)
- HDU-5945 Fxx and game (dp+单调队列)
- HDU 5945 Fxx and game(dp+单调队列优化)
- hdu 5945 Fxx and game(单调队列,dp)
- 【23.33%】【hdu 5945】Fxx and game
- 【HDU 5945 Fxx and game】+ 单调队列
- hdu 5945 Fxx and game(单调队列OR标记过程的bfs)@
- 【HDOJ】5945 Fxx and game
- HDOJ 5945 Fxx and game
- 线性表
- HTTP协议学习(下)
- Apache服务器简介
- usb的bulk传输
- Mybatis代码生成工具autoMybatis插件的使用
- HDU-5945 Fxx and game (BFS)
- Linux下PPPOE服务器及NTP服务器的搭建
- GUI显示系统之SurfaceFlinger(1)~(4)
- IT规划部职责
- BSGS:同余方程
- Android之ShareSDK第三方分享(不用申请ID)只限微信朋友圈跟QQ
- IT战略职业规划
- Linux mongodb
- flann中关于indexParam的使用说明