HDU 2209 翻紙牌遊戲(C C )

2021-08-20 02:16:02 字數 874 閱讀 8892

problem description

有一種紙牌遊戲,很有意思,給你n張紙牌,一字排開,紙牌有正反兩面,開始的紙牌可能是一種亂的狀態(有些朝正,有些朝反),現在你需要整理這些紙牌。但是麻煩的是,每當你翻一張紙牌(由正翻到反,或者有反翻到正)時,他左右兩張紙牌(最左邊和最右邊的紙牌,只會影響附近一張)也必須跟著翻動,現在給你乙個亂的狀態,問你能否把他們整理好,使得每張紙牌都正面朝上,如果可以,最少需要多少次操作。

input

有多個case,每個case輸入一行01符號串(長度不超過20),1表示反面朝上,0表示正面朝上。

output

對於每組case,如果可以翻,輸出最少需要翻動的次數,否則輸出no。

sample input

01 011

sample output

no 1

感覺這道題還挺有意思的,不那麼複雜,但是還很神奇~一遍ac啦~

**:

//

// main.cpp

// 2209

//// created by showlo on 2018/5/17.

//#include#include#include#define inf 99999999

using namespace std;

char s[30];

int p[30];

int dfs(int i,int len,int num)

if(p[i-1]==1) //如果上一張牌是翻面朝上,那麼這張牌就翻轉

return dfs(i+1,len,num);

}int main()

return 0;

}

HDU 2209 翻紙牌遊戲(DFS)

description 有一種紙牌遊戲,很有意思,給你n張紙牌,一字排開,紙牌有正反兩面,開始的紙牌可能是一種亂的狀態 有些朝正,有些朝反 現在你需要整理這些紙牌。但是麻煩的是,每當你翻一張紙牌 由正翻到反,或者有反翻到正 時,他左右兩張紙牌 最左邊和最右邊的紙牌,只會影響附近一張 也必須跟著翻動,...

HDU 2209 翻紙牌遊戲 模擬

有一種紙牌遊戲,很有意思,給你n張紙牌,一字排開,紙牌有正反兩面,開始的紙牌可能是一種亂的狀態 有些朝正,有些朝反 現在你需要整理這些紙牌。但是麻煩的是,每當你翻一張紙牌 由正翻到反,或者有反翻到正 時,他左右兩張紙牌 最左邊和最右邊的紙牌,只會影響附近一張 也必須跟著翻動,現在給你乙個亂的狀態,問...

HDU 2209 翻紙牌遊戲 解題報告

description 有一種紙牌遊戲,很有意思,給你n張紙牌,一字排開,紙牌有正反兩面,開始的紙牌可能是一種亂的狀態 有些朝正,有些朝反 現在你需要整理這些紙牌。但是麻煩的是,每當你翻一張紙牌 由正翻到反,或者有反翻到正 時,他左右兩張紙牌 最左邊和最右邊的紙牌,只會影響附近一張 也必須跟著翻動,...