程式設計題 黑白卡片

2021-08-07 21:29:25 字數 1021 閱讀 2908

牛牛有n張卡片排成乙個序列.每張卡片一面是黑色的,另一面是白色的。初始狀態的時候有些卡片是黑色朝上,有些卡片是白色朝上。牛牛現在想要把一些卡片翻過來,得到一種交替排列的形式,即每對相鄰卡片的顏色都是不一樣的。牛牛想知道最少需要翻轉多少張卡片可以變成交替排列的形式。 

輸入描述:

輸入包括乙個字串s,字串長度length(3 ≤ length ≤ 50),其中只包含'w'和'b'兩種字串,分別表示白色和黑色。整個字串表示卡片序列的初始狀態。

輸出描述:

輸出乙個整數,表示牛牛最多需要翻轉的次數。

輸入例子:

bbbw

輸出例子:

1
#include 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;inevenblack+noddwhite?nevenblack+noddwhite:nevenwhite+noddblack;

cout<

1 黑白卡片 全國模擬(四)

程式設計題 黑白卡片 時間限制 1秒 空間限制 32768k 牛牛有n張卡片排成乙個序列.每張卡片一面是黑色的,另一面是白色的。初始狀態的時候有些卡片是黑色朝上,有些卡片是白色朝上。牛牛現在想要把一些卡片翻過來,得到一種交替排列的形式,即每對相鄰卡片的顏色都是不一樣的。牛牛想知道最少需要翻轉多少張卡...

YTU 2845 程式設計題AB 卡片遊戲

時間限制 1 sec 記憶體限制 128 mb 提交 30 解決 13 小明對數字的序列產生了興趣 現有許多張不同的數字卡片,用這若干張卡片能排列出很多序列,要求算出這若干張不同卡片的全排列總數,並按從小到大的順序輸出這些序列。輸入數字n,表示輸入數字序列個數,接著輸入n個不同的數字,代表n張卡片上...

程式設計之美 黑白球問題

題目 有乙個桶,裡面有白球 黑球各100個,人們必須按照以下的規則把球取出來 1 每次從桶裡面拿出來兩個球 2 如果是兩個同色的球,就再放入乙個黑球 3 如果是兩個異色的球,就再放入乙個白球 問 最後桶裡面只剩下乙個黑球的概率是多少?思路1 找規律 使用 黑球個數,白球個數 來表示桶中黑球和白球的個...