Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm sự kết hợp màu kết quả trong C ++

Chúng tôi có một chuỗi với ba màu (G, B, Y). Chúng ta phải tìm ra màu kết quả dựa trên các mối quan hệ này -

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

Giả sử chuỗi là “GBYGB” là B. Nếu chuỗi là “BYB” thì nó sẽ là Y.

Cách tiếp cận rất đơn giản; chúng tôi sẽ lấy chuỗi. So sánh từng bảng chữ cái với các ký tự liền kề, sử dụng điều kiện đã cho, tìm màu.

Ví dụ

#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);
}

Đầu ra

Color Combination Result: B