【程式設計題】黑白卡片
牛牛有n張卡片排成一個序列.每張卡片一面是黑色的,另一面是白色的。初始狀態的時候有些卡片是黑色朝上,有些卡片是白色朝上。牛牛現在想要把一些卡片翻過來,得到一種交替排列的形式,即每對相鄰卡片的顏色都是不一樣的。牛牛想知道最少需要翻轉多少張卡片可以變成交替排列的形式。
輸入描述:
輸入包括一個字串S,字串長度length(3 ≤ length ≤ 50),其中只包含'W'和'B'兩種字串,分別表示白色和黑色。整個字串表示卡片序列的初始狀態。
輸出描述:
輸出一個整數,表示牛牛最多需要翻轉的次數。
輸入例子:
BBBW
輸出例子:
1
#include <iostream> using namespace std; /*********************** 1.定義四個變數 nEvenWhite: 偶數位置白色個數 nEvenBlack: 偶數位置黑色個數 nOddWhite: 奇數位置白色個數 nOddBlack: 奇數位置黑色個數 2.則最終 把偶數位置的白色變為黑色,奇數位置黑色變成白色 把奇數位置的白色變成黑色,偶數位置的黑色變成白色 3.結果即是上樹兩種結果最小值 ************************/ int main() { string str; cin>>str; int nCount = str.length(); int nEvenWhite = 0; int nEvenBlack = 0; int nOddWhite = 0; int nOddBlack = 0; for(int i= 0;i<nCount;++i) { if(i%2) { if(str[i]=='W') { nOddWhite++; }else { nOddBlack++; } }else { if(str[i]=='W') { nEvenWhite++; } else { nEvenBlack++; } } } int ans = nEvenWhite+nOddBlack >nEvenBlack+nOddWhite?nEvenBlack+nOddWhite:nEvenWhite+nOddBlack; cout<<ans<<endl;
}
轉載來自:http://blog.csdn.net/u013291818/article/details/73522014
相關文章
- 程式設計卡片 001 - 更新 Laravel Installer程式設計Laravel
- Java程式設計思想——知識卡片01_02Java程式設計
- 程式設計卡片 002 - Laravel 中如何使用 AdminLte程式設計Laravel
- 酷酷的黑白網頁設計作品網頁
- 形式與功能 – 卡片式設計思考
- Django+Bootstrip 卡片模板設計 經典精品Djangoboot
- 網頁黑白程式碼網頁
- JS程式設計題JS程式設計
- 程式設計題求解程式設計
- go程式設計題Go程式設計
- C程式設計題C程式程式設計
- 筆試題目——程式設計題筆試程式設計
- 程式碼設計問題
- [程式設計題] 序列交換程式設計
- 無題程式設計師程式設計師
- 程式設計題目解析程式設計
- Android 使用 CardView 輕鬆實現卡片式設計AndroidView
- Java程式設計__Chap3 面對物件__程式設計題Java程式設計物件
- cad列印怎麼設定黑白 cad怎麼列印圖紙黑白
- 程式設計題-兩數相加程式設計
- JS中的程式設計題JS程式設計
- 華為程式設計題-加密解密程式設計加密解密
- 換汽水(華為程式設計題)程式設計
- 程式設計面試題釋出程式設計面試題
- 程式設計文化的問題程式設計
- 程式設計題:報數遊戲程式設計遊戲
- PHP程式設計師面試題PHP程式設計師面試題
- 順序程式設計習題程式設計
- c語言程式設計題C語言程式設計
- 計科190405程式設計題解程式設計
- 還在為黑白網頁設計犯難?12款設計幫你輕鬆解決!!!網頁
- 程式設計師在程式設計中遇到的奇葩弱智問題程式設計師
- 程式設計師進階之路之面試題與筆試題集錦(三)線上程式設計題程式設計師面試題筆試
- 迷茫(黑白)
- 物件導向程式設計-java語言 第二週程式設計題物件程式設計Java
- 騰訊[程式設計題] 紙牌遊戲程式設計遊戲
- 小學數學程式設計題程式設計
- 程式設計題:尋找木頭程式設計