สมมติว่าเราได้รับรูปภาพที่มี 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