Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm màu kết hợp từ chuỗi 3 màu (G, B, Y) trong C++


Cho chuỗi gồm 3 màu G, B, Y. Tìm màu kết hợp theo quy tắc:

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

Ví dụ "GBYGB" → B, "BYB" → Y.

Duyệt chuỗi, giữ màu hiện tại, so sánh với ký tự tiếp theo, áp dụng quy tắc kết hợp.

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

Kết quả

Color Combination Result: B