• poj1753Flip Game(dfs)


    Flip Game  思想很不成熟,

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    int map[4][4];
    int ans=100;

    int f()
    {
        for(int i=0;i<4;i++)
        {
            for(int j=0;j<4;j++)
                if(map[i][j]!=map[0][0])
                  return 0;

        }
         return 1;
    }

    void fan1(int x,int y)
    {
        if(x>=0&&x<4&&y>=0&&y<4)
            map[x][y]=!map[x][y];
    }
    void fan(int x,int y)
    {
        fan1(x,y);
        fan1(x-1,y);
        fan1(x+1,y);
        fan1(x,y-1);
        fan1(x,y+1);
    }
    void dfs(int x,int y,int b)
    {
        if(f())
        {
            if(b<ans)
            {
                ans=b;
                return ;
            }
        }
        if(x>=4||y>=4) return ;
        int xx=(x+1)%4;
        int yy=y+(x+1)/4;
        dfs(xx,yy,b);//入栈
        fan(x,y);
        dfs(xx,yy,b+1);
        fan(x,y);
    }
    int main()
    {
        char ch;
        for(int i=0;i<4;i++)
        {
            for(int j=0;j<4;j++)
            {
              scanf("%c",&ch);
              if(ch=='b')
                map[i][j]=0;
              else map[i][j]=1;
            }
            getchar();
        }
        dfs(0,0,0);
        if (ans != 100)
            printf ("%d ",ans);
        else
            printf ("Impossible ");
        return 0;
    }

  • 相关阅读:
    特殊权限
    linux文件文本查找
    vim
    11.8-下视频录视频
    10.04-VSCode-Linux编程环境搭建
    10.26-thunderbird配置
    6.20-安装Nvidia gt660ti 显卡驱动
    6.19-搭建github博客
    2.10-常用系统维护
    6.18-WizNote MD 指南
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/3788603.html
Copyright © 2020-2023  润新知