zoukankan      html  css  js  c++  java
  • HDU2209 ( 翻纸牌游戏 )

    思路:枚举然后深搜,时间复杂度有点高。

    代码:

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 #include<algorithm>
     5 using namespace std;
     6 int a[25];
     7 char c[25];
     8 int flag;
     9 int len;
    10 int judge()
    11 {
    12    int i,j;
    13    int cnt=0;
    14    for(i=0;i<len;i++)
    15        if (a[i])
    16            cnt++;
    17     if (!cnt)
    18         return 1;
    19     return 0;
    20 }
    21 void change(int i)
    22 {
    23     a[i]^=1;
    24     if (i-1>=0)
    25         a[i-1]^=1;
    26     if (i+1<len)
    27         a[i+1]^=1;
    28 }
    29 void dfs(int j,int now,int sum)
    30 {
    31     int i;
    32     if (now==sum)
    33     {
    34         flag=judge();
    35         return ;
    36     }
    37     for(i=j+1;i<len;i++)
    38     {
    39         change(i);
    40         dfs(i,now+1,sum);
    41         if (flag)
    42             return ;
    43         change(i);
    44     }
    45 }
    46 int main()
    47 {
    48     while(scanf("%s",c)!=EOF)
    49     {
    50         int i,j;
    51         len=strlen(c);
    52         int ce=0;
    53         memset(a,0,sizeof(a));
    54         for(i=0;i<len;i++)
    55         {
    56             a[i]=c[i]-'0';
    57             if (a[i])
    58                 ce++;
    59         }
    60         if (!ce)
    61         {
    62             printf("0
    ");
    63             continue;
    64         }
    65         int sum=0;
    66         flag=0;
    67         for(i=0;i<len;i++)
    68         {
    69             dfs(-1,0,++sum);
    70             if (flag)
    71                 break;
    72         }
    73         if (flag)
    74             printf("%d
    ",sum);
    75         else
    76             printf("NO
    ");
    77     }
    78     return 0;
    79 }
    View Code
    屌丝终有逆袭日,*******。
  • 相关阅读:
    canvasnode的设计思路和api介绍
    希望新浪网络学院的童鞋们加油
    和新童鞋们吃饭,见到了jeremy
    MongoDB 学习资料
    [转] Scrum框架及其背后的原则
    twisted学习资料
    创建课程表
    进程
    协程
    支付宝支付流程
  • 原文地址:https://www.cnblogs.com/ZhaoPengkinghold/p/3732681.html
Copyright © 2011-2022 走看看