您现在的位置是:首页 > 学习之路 > ACM||算法ACM||算法

POJ-3279 Fliptile

卞振伟2019-07-25【ACM||算法】人已围观

简介POJ-3279 Fliptile
状压
每个地板黑白两种颜色.踩一个地板,周围四个板子一起翻转,踩哪些地板可以使所有地板最快全部成为白色
此题不是严格意义的搜索.
坑:不是标准的BFS也不是DFS,谁能直接想到这个题需要用到状压!!!

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <climits>

using namespace std;

typedef unsigned long long ULL;
const int maxn = 30;
int n;
int flag;
int a[maxn];

void dfs(ULL x, int len){
    if(!flag)
        return ;
    if(x % n == 0){
        flag = 0;
        printf("%lld\n", x);
        a[n] = x;
        return;
    }
    if(len >= 19)
        return ;
    dfs(x*10, len+1);
    dfs(x*10+1, len+1);
}

int main(){
    while(~scanf("%d", &n)){
        if(!n)
            return 0;
        flag = 1;
        dfs(1,1);
    }
    return 0;
}

Tags:ACM   编程   个人   题解   算法   C|C++

很赞哦! ()

文章评论

站点信息

  • 建站时间:2018-11-25
  • 网站程序:帝国CMS7.5
  • 文章统计:118篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 网站地图XML网站地图
  • 微信公众号:扫描二维码,关注我的公众号
  • GitHub:扫描二维码,关注我的GitHub

客服在线

QQ客服

客服微信扫码

服务时间

周一至周日 9:00-21:00