สมมติว่าเราได้รับรูปภาพที่มี n พิกเซล พิกเซลสามารถเป็นสีดังต่อไปนี้ −
-
'C' (ฟ้า)
-
'M' (สีม่วงแดง)
-
'Y' (สีเหลือง)
-
'W' (สีขาว)
-
'G' (สีเทา)
-
'B' (สีดำ)
สีของพิกเซลที่ i ถูกกำหนดในสตริง 'พิกเซล' เมื่อพิจารณาจากเชือกแล้ว เราต้องค้นหาว่าภาพถ่ายที่ให้มานั้นมีสีสันหรือขาวดำ หากเป็นภาพถ่ายสี จะมีอย่างน้อยหนึ่งพิกเซลของสี 'C', 'M' และ 'Y' และเราจะพิมพ์ 'สี' มิฉะนั้น จะมีพิกเซลของสี 'W', 'G', 'B' เท่านั้น และเราจะพิมพ์ 'BW'
ดังนั้น หากอินพุตเป็น n =10 พิกเซล ="GBWYM" เอาต์พุตจะเป็นสี
ขั้นตอน
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
for initialize i := 0, when i < n, update (increase i by 1), do: if pixels[i] is not equal to 'B' and pixels[i] is not equal to 'W' and pixels[i] is not equal to 'G', then: print("Color") return print("BW")
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#include <bits/stdc++.h> using namespace std; #define N 100 void solve(int n, string pixels ) { for (int i = 0 ; i < n; i++) { if(pixels[i]!='B' && pixels[i]!='W' && pixels[i]!='G') { cout<<"Color"; return; } } cout<<"BW"; } int main() { int n = 10; string pixels = "GBWYM"; solve(n, pixels); return 0; }
อินพุต
10, "GBWYM"
ผลลัพธ์
Color