天天看點

PAT乙級 1066 圖像過濾 (15分)

1066 圖像過濾 (15分)

圖像過濾是把圖像中不重要的像素都染成背景色,使得重要部分被凸顯出來。現給定一幅黑白圖像,要求你将灰階值位于某指定區間内的所有像素顔色都用一種指定的顔色替換。

輸入格式:

輸入在第一行給出一幅圖像的分辨率,即兩個正整數 M 和 N(0<M,N≤500),另外是待過濾的灰階值區間端點 A 和 B(0≤A<B≤255)、以及指定的替換灰階值。随後 M 行,每行給出 N 個像素點的灰階值,其間以空格分隔。所有灰階值都在 [0, 255] 區間内。

輸出格式:

輸出按要求過濾後的圖像。即輸出 M 行,每行 N 個像素灰階值,每個灰階值占 3 位(例如黑色要顯示為 000),其間以一個空格分隔。行首尾不得有多餘空格。

輸入樣例:

#include <iostream>
using namespace std;
int main(){
    int n,m,a,b,t;
    cin>>m>>n>>a>>b>>t;
    int store[m][n];
    for (int i = 0; i < m; ++i) {
        for (int j = 0; j < n; ++j) {
            cin>>store[i][j];
            if(store[i][j] <= b && store[i][j] >= a)
                store[i][j] = t;
        }
    }
    for (int i = 0; i < m; ++i) {
        for (int j = 0; j < n; ++j) {
            if(j!=0)
                cout<<" ";
            printf("%03d",store[i][j]);
        }
        cout<<endl;
    }


    return 0;
}