เรามีสตริงที่มีสามสี (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