HDU 2209 翻纸牌游戏(一)

2012-11-01 15:46:51 · 作者: · 浏览: 982

    思路:DFS+回溯

    [cpp]

    #include<stdio.h>

    #include<string.h>

    #define INF 1《30

    int a[25],cnt[25];

    int ans,temp,len;

    bool myok()

    {

    int i;

    for(i=0;i<len;i++)

    if(a[i]) return false;

    return true;

    }

    void dfs(int idx)

    {

    int i;

    if(myok())//判断是否还有反面的纸牌,若有则继续翻牌,无则计数

    {

    temp=0;

    for(i=0;i<len;i++)

    if(cnt[i]==1) temp++;

    if(temp<ans)

    ans=temp;

    return;

    }

[1] [2] 下一页