翻紙牌遊戲
Description
有一種紙牌遊戲,很有意思,給你N張紙牌,一字排開,紙牌有正反兩面,開始的紙牌可能是一種亂的狀態(有些朝正,有些朝反),現在你需要整理這些紙牌。但是麻煩的是,每當你翻一張紙牌(由正翻到反,或者有反翻到正)時,他左右兩張紙牌(最左邊和最右邊的紙牌,只會影響附近一張)也必須跟著翻動,現在給你一個亂的狀態,問你能否把他們整理好,使得每張紙牌都正面朝上,如果可以,最少需要多少次操作。
Input
有多個case,每個case輸入一行01符號串(長度不超過20),1表示反面朝上,0表示正面朝上。
Output
對於每組case,如果可以翻,輸出最少需要翻動的次數,否則輸出NO。
Sample Input
01 011
Sample Output
NO 1
翻紙牌翻的我一臉矇蔽啊,一開始就把題意理解錯了,反正一張牌是把它兩邊緊挨著他的牌也翻過來,結果我一直以為是隻能翻其中一張
翻牌分兩種情況,第一張紙牌翻還是不翻,因為第一張紙牌只有這兩種情況,要麼翻,要麼不翻
AC程式碼:
#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<string> #include<queue> #include<algorithm> #include<map> #include<iomanip> #define INF 99999999 using namespace std; char s[21]; int num[21]; int len; int dfs(int i, int cnt) { if(i==len) return num[i-1]?INF:cnt;//i-1張牌之前的所有的牌都已經是朝上了,所以最後只需要判斷最後一張牌 if(num[i-1]) //是不是朝上的,如果是則返回翻牌次數cnt,否則返回INF { num[i-1]=0; num[i]=!num[i]; num[i+1]=!num[i+1]; cnt++; } return dfs(i+1,cnt); } int main() { while(~scanf("%s",s)) { int sum=INF; len=strlen(s); for(int i=0;i<len;i++) num[i]=s[i]-'0'; num[0]=!num[0], num[1]=!num[1];//第一張紙牌翻 sum=min(sum,dfs(1,1)); for(int i=0;i<len;i++) num[i]=s[i]-'0'; sum=min(sum,dfs(1,0));//第一張紙牌不翻 if(sum==INF) printf("NO\n"); else printf("%d\n",sum); } return 0; }
相關文章
- 騰訊[程式設計題] 紙牌遊戲程式設計遊戲
- Araneid 蜘蛛紙牌遊戲原始碼 (轉)遊戲原始碼
- win10 移植蜘蛛紙牌遊戲在哪_Win10系統下怎麼開啟蜘蛛紙牌遊戲Win10遊戲
- SpongeBob SolitairePants Mac(海綿寶寶紙牌遊戲)AIMac遊戲
- 均分紙牌問題
- win10系統下怎麼新增紙牌遊戲Win10遊戲
- win10怎麼將蜘蛛紙牌固定到桌面_win10蜘蛛紙牌怎麼放到桌面Win10
- Win10系統下怎麼開啟蜘蛛紙牌遊戲【圖文】Win10遊戲
- 紙牌接龍合集The Zachtronics Solitaire Collection MacAIMac
- 網易伏羲GDC分享:在回合製紙牌遊戲中應用 AlphaZero 開發 AI遊戲AI
- 1828:【02NOIP提高組】均分紙牌
- win10怎麼裝xp版的蜘蛛紙牌_win10系統安裝xp蜘蛛紙牌的方法Win10
- Windows 紙牌遊戲是我開發的,但我沒從中拿到一分錢Windows遊戲
- 海外上線近2年後,這款「紙牌+裝潢」遊戲為何突然“起飛”了?遊戲
- 《大資料思維——從擲骰子到紙牌屋》大資料
- POJ-1003 Hangover-紙牌疊放Go
- Win10開始選單找不到經典紙牌遊戲Microsoft solitaire collection怎麼辦Win10遊戲ROSAI
- Windows 95被做成了App,可玩掃雷和紙牌WindowsAPP
- [CareerCup] 8.1 Implement Blackjack 實現21點紙牌
- 疊紙CEO:疊紙是如何做遊戲的遊戲
- JavaZone 2014 惡搞劇候選作品欣賞:《權利的遊戲》《紙牌屋》《絕命毒師》Java遊戲
- MATLAB——基於影像相減的紙牌識別系統Matlab
- win10系統中自帶紙牌打不開怎麼辦Win10
- 【codevs2485】七夕祭(貪心,環形紙牌均分)dev
- 【NOIP2002】【codevs1098】均分紙牌dev
- P1031 [NOIP2002 提高組] 均分紙牌
- java程式:簡易撲克牌遊戲Java遊戲
- 卡牌手機遊戲設計”十八點”遊戲設計
- windows XP自帶遊戲"蜘蛛牌--spider"空位不發牌限制的破解Windows遊戲IDE
- Opencv學習筆記(3)---紙牌數字識別練習實踐專案OpenCV筆記
- 締元信:從《紙牌屋》到《爸爸2》,大資料讓影視節目受益大資料
- 來打牌了!修仙卡牌對戰遊戲《弈仙牌》現已登陸Steam遊戲
- 卡牌鏈遊NFT遊戲系統開發/原始碼/卡牌鏈遊/NFT遊戲原始碼
- 誰能推翻疊紙乙女遊戲“霸權”?遊戲
- 蒼之女武神:卡牌回合制遊戲遊戲
- 微軟宣佈將為Win10版《微軟紙牌合集》更新一個等級系統微軟Win10
- 洛谷 P1031 [NOIP2002 提高組] 均分紙牌 題解
- python例項:解決經典撲克牌遊戲 -- 四張牌湊24點 (一)Python遊戲