我的PAT系列文章更新重心已移至Github,歡迎來看PAT題解的小伙伴請到Github Pages瀏覽最新內(nèi)容。此處文章目前已更新至與Github Pages同步。歡迎star我的repo。
題目
圖像過濾是把圖像中不重要的像素都染成背景色,使得重要部分被凸顯出來。現(xiàn)給定一幅黑白圖像,要求你將灰度值位于某指定區(qū)間內(nèi)的所有像素顏色都用一種指定的顏色替換。
輸入格式:
輸入在第一行給出一幅圖像的分辨率,即兩個(gè)正整數(shù) 和
(
),另外是待過濾的灰度值區(qū)間端點(diǎn)
和
(
)、以及指定的替換灰度值。隨后
行,每行給出
個(gè)像素點(diǎn)的灰度值,其間以空格分隔。所有灰度值都在 [0, 255] 區(qū)間內(nèi)。
輸出格式:
輸出按要求過濾后的圖像。即輸出 行,每行
個(gè)像素灰度值,每個(gè)灰度值占 3 位(例如黑色要顯示為
000
),其間以一個(gè)空格分隔。行首尾不得有多余空格。
輸入樣例:
3 5 100 150 0
3 189 254 101 119
150 233 151 99 100
88 123 149 0 255
輸出樣例:
003 189 254 000 000
000 233 151 099 000
088 000 000 000 255
思路
很簡單的題目,甚至連數(shù)組都不用開。
代碼
最新代碼@github,歡迎交流
#include <stdio.h>
int main()
{
int N, M, A, B, C, D;
scanf("%d %d %d %d %d", &M, &N, &A, &B, &C);
for(int i = 0; i < M; i++)
for(int j = 0; j < N; j++)
{
scanf("%d", &D);
if(A <= D && D <= B) D = C;
printf("%03d%c", D, j == N - 1 ? '\n' : ' ');
}
return 0;
}