题解
难度:简单
知识点:逻辑与理解
这道题认真读完题目则发现很简单,因为漂亮的砖块最多存在一对不同颜色的相邻砖块。
所以只有三种情况:
- 如果有两种颜色以上,那么不可能组成漂亮砖块
- 只有两种颜色例如AB,那么排列有AB和BA,所以两种排列方式
- 只有一种颜色,那么只有一种排列方式
颜色对应不同的字母,为了对于找出字母的种类,就立即想到set元素不能重复的特点,所以根据set的size就得到字母的种类数
#include <iostream> #include <string> #include <set> using namespace std; int main() { string s; getline(cin, s); set<char> good; for (int i = 0; i < s.length(); i++) good.insert(s[i]); if (good.size() == 1) cout << 1 << endl; else if (good.size() == 2) cout << 2 << endl; else cout << 0 << endl; }