我们有一个具有三种颜色(G,B,Y)的字符串。我们必须根据这些关系找到最终的颜色-
B * G = Y
Y * B = G
G * Y = B
假设字符串“ GBYGB”为B。如果字符串“ BYB”,则为Y。
方法很简单;我们将字符串。使用给定条件将每个字母与相邻字符进行比较,找到颜色。
#include <iostream> using namespace std; char combination(string s) { char color = s[0]; for (int i = 1; i < s.length(); i++) { if (color != s[i]) { if ((color == 'B' || color == 'G') && (s[i] == 'G' || s[i] == 'B')) color = 'Y'; else if ((color == 'B' || color == 'Y') && (s[i] == 'Y' || s[i] == 'B')) color = 'G'; else color = 'B'; } } return color; } int main() { string color_str = "GBYBGY"; cout << "Color Combination Result: " << combination(color_str); }
输出结果
Color Combination Result: B