小易有一些彩色的磚塊。每種顏色由乙個大寫字母表示。各個顏色磚塊看起來都完全一樣。現在有乙個給定的字串s,s中每個字元代表小易的某個磚塊的顏色。小易想把他所有的磚塊排成一行。如果最多存在一對不同顏色的相鄰磚塊,那麼這行磚塊就很漂亮的。請你幫助小易計算有多少種方式將他所有磚塊排成漂亮的一行。(如果兩種方式所對應的磚塊顏色序列是相同的,那麼認為這兩種方式是一樣的。)
例如: s = 「abab」,那麼小易有六種排列的結果:
「aabb」,」abab」,」abba」,」baab」,」baba」,」bbaa」
其中只有」aabb」和」bbaa」滿足最多只有一對不同顏色的相鄰磚塊。
輸入描述:
輸入包括乙個字串s,字串s的長度length(1 ≤ length ≤ 50),s中的每乙個字元都為乙個大寫字母(a到z)。
輸出描述:
輸出乙個整數,表示小易可以有多少種方式。
輸入例子1:
abab
輸出例子1:
2
#include
#include
#include
#include
using
namespace
std;
int main()
程式設計題07 彩色的磚塊 (網易)
小易有一些彩色的磚塊。每種顏色由乙個大寫字母表示。各個顏色磚塊看起來都完全一樣。現在有乙個給定的字串s,s中每個字元代表小易的某個磚塊的顏色。小易想把他所有的磚塊排成一行。如果最多存在一對不同顏色的相鄰磚塊,那麼這行磚塊就很漂亮的。請你幫助小易計算有多少種方式將他所有磚塊排成漂亮的一行。如果兩種方式...
彩色的磚塊
小易有一些彩色的磚塊。每種顏色由乙個大寫字母表示。各個顏色磚塊看起來都完全一樣。現在有乙個給定的字串s,s中每個字元代表小易的某個磚塊的顏色。小易想把他所有的磚塊排成一行。如果最多存在一對不同顏色的相鄰磚塊,那麼這行磚塊就很漂亮的。請你幫助小易計算有多少種方式將他所有磚塊排成漂亮的一行。如果兩種方式...
網易2018校招內推程式設計題 彩色磚塊
小易有一些彩色的磚塊。每種顏色由乙個大寫字母表示。各個顏色磚塊看起來都完全一樣。現在有乙個給定的字串s,s中每個字元代表小易的某個磚塊的顏色。小易想把他所有的磚塊排成一行。如果最多存在一對不同顏色的相鄰磚塊,那麼這行磚塊就很漂亮的。請你幫助小易計算有多少種方式將他所有磚塊排成漂亮的一行。如果兩種方式...