zoukankan      html  css  js  c++  java
  • CF 不知哪一题

    写在前面

    我怎么就学不会(DP)kk.png

    链接

    Idea

    (BFS),虽然老师让用(DP)写法做。(蒟蒻不会,所以就用了(BFS)kk.png

    我们定义结构体。

    元素有当前的和((val)),当前向上的数字((up)),已经走的步数((tmp))

    一开始(val=0,tmp=0,up=1),放入队列,再定义一个记录步数的数组,初始化为(-1),然后就可以爆搜了

    struct node{
        int val,tmp,up;
    }now,net;
    

    Code

    int sum[maxn];
    struct node{
    	int val,tmp,up;
    }now,net;
    inline void bfs(){
    	now.val=0; now.tmp=0; now.up=1;
    	queue<node> q;
    	q.push(now);
    	while(q.size()){
    		now=q.front(); q.pop();
    		if(now.val<maxn){
    			for(int i=1;i<=6;i++){
    				if(now.up==i||now.up+i==7||sum[now.val+i]!=-1) continue;
                	net.tmp=now.tmp+1;
            		net.val=now.val+i;
                	net.up=i;
                	sum[net.val]=net.tmp;
                	q.push(net);
    			}
    		}
    	}
    }
    int main(){
    	memset(sum,-1,sizeof sum);
    	bfs();
    	int T=read();
    	while(T--){
    		int n=read();
    		printf("%d
    ",sum[n]);
    	}
    	return 0;
    }
    

    [The quad End ]

    [ ext{我要记住你的样子,像鱼记住水的拥抱,像云在天空中停靠;}\ ext{我要忘了你的样子,鱼忘了海的味道,所有梦和烦恼-《像鱼》王贰浪} ]

  • 相关阅读:
    通过mixins方法处理调取服务器时间
    记录个人对vuex的简单理解
    利用弹性布局实现垂直居中
    vue.set的适用方法
    深拷贝和浅拷贝的实现方法
    Maven安装步骤
    build tools
    Git
    Url和Uri的区别
    函数式编程语言
  • 原文地址:https://www.cnblogs.com/cbyyc/p/11688258.html
Copyright © 2011-2022 走看看