查找图像是否为黑白或彩色的 C++ 代码
假设我们得到一个包含 n 个像素的图像。像素可以具有以下颜色:
'C'(青色)
'M'(品红色)
'Y'(黄色)
'W'(白色)
'G'(灰色)
'B'(黑色)
第 i 个像素的颜色在字符串 'pixels' 中给出。给定字符串,我们必须确定给定的照片是彩色的还是黑白的。如果它是彩色照片,则它将包含至少一个颜色为 'C'、'M' 和 'Y' 的像素,我们将打印 'Color';否则,它将仅包含颜色为 'W'、'G'、'B' 的像素,我们将打印 'BW'。
因此,如果输入类似于 n = 10,pixels = "GBWYM",则输出将为 Color。
步骤
为了解决这个问题,我们将遵循以下步骤:
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
广告