在 C++ 中查找结果颜色组合

c++server side programmingprogramming

我们有一个包含三种颜色 (G、B、Y) 的字符串。我们必须根据这些关系找到结果颜色 −

  • B * G = Y
  • Y * B = G
  • G * Y = B

假设字符串为"G​​BYGB",则为 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 << "颜色组合结果:" << combinations(color_str);
}

输出

颜色组合结果:B

相关文章