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

2022-08-24 01:21:13 字數 1178 閱讀 3753

[程式設計題] 黑白卡片

時間限制:1秒

空間限制:32768k

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

輸入描述:

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

輸出描述:

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

輸入例子:

bbbw

輸出例子:

1解題思路:考慮與左側第乙個不變為基準找,和以右側第乙個不變為基準找,然後求count最小值

1 #include 2

using

namespace

std;

3int

main()420

else

2127

else

2831}32

}33for(int i=length-2;i>=0;i--)

3439

else

4046

else

4750}51

}52if(count1>count2)

5356

else

5760}61

return0;

6263 }

只過了60%,改思路存在問題,不一定,左側第乙個或者右側第乙個一定不變

正確解題思路:最後排好的字串是以bw開頭或者以wb開頭,分別計算一遍,求最小的count即可

1 #include 2

using

namespace

std;

3int

main()419

}20else

2126}27

}28for(int i=0;i)

2936}37

else

3843}44

}45if(count1>count2)

4649

else

5053}54

return0;

5556 }

2017 9 3 校內模擬T1卡片card

題意 有三種字母,可以用兩個不同的換乙個第三種字母,兩個相同的換乙個同種字母 即消去乙個 問最後剩下的字母。第一題顯然是if題,總體來說只有三種情況 1.有三種不同的 輸出 bgr 2.有兩種不同的 3.只有一種字母 輸出這個字母 極醜 1 include2 include3 include4 us...

4 序列交換 全國模擬(四)

程式設計題 序列交換 時間限制 1秒 空間限制 32768k 牛牛有乙個長度為n的整數序列s,羊羊要在牛牛的序列中選擇不同的兩個位置,然後交換這兩個位置上的元素。現在需要求出羊羊交換後可以得到的不同的序列個數。注意被交換的兩元素值可能相同 如序列,輸出1.羊羊必須交換僅有的兩個元素,得到序列。羊羊必...

CSP S全國模擬賽第四場 nan?

本來想搶三題的 rk1 無恥 最後發現 t2 好像還是慢了些,只搞了個 rk2 第一題隨便分析一下,發現一段區間中某個元素的貢獻次數就是 x 1 y 1 x 是他左邊的元素個數,y 是右邊 當然指的是詢問區間內 由於異或的性質,乙個元素最終貢獻次數膜 2 後結果一樣 那麼我們發現對於長度為偶數的區間...