查找图像是否为黑白或彩色的 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

更新于: 2022 年 3 月 11 日

1K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告