PAT 乙級 1066. 圖像過濾(15)
阿新 • • 發佈:2017-07-31
輸出格式 amp code clas 例如 void for 顏色 bsp
圖像過濾是把圖像中不重要的像素都染成背景色,使得重要部分被凸顯出來。現給定一幅黑白圖像,要求你將灰度值位於某指定區間內的所有像素顏色都用一種指定的顏色替換。
輸入格式:
輸入在第一行給出一幅圖像的分辨率,即兩個正整數M和N(0 < M, N <= 500),另外是待過濾的灰度值區間端點A和B(0 <= A < B <= 255)、以及指定的替換灰度值。隨後M行,每行給出N個像素點的灰度值,其間以空格分隔。所有灰度值都在[0, 255]區間內。
輸出格式:
輸出按要求過濾後的圖像。即輸出M行,每行N個像素灰度值,每個灰度值占3位(例如黑色要顯示為000),其間以一個空格分隔。行首尾不得有多余空格。
輸入樣例:
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
1 #include<cstdio> 2 #include<iostream> 3 #include<cmath> 4 using namespace std; 5 6 int a[505][505]; 7 8 void print(int num) 9 { 10 if(num>=100) 11 printf("%d",num); 12 else if(num>=10) 13 printf("0%d",num); 14 else 15 printf("00%d",num); 16 } 17 18 int main() 19 { 20 int m,n,l,r,num; 21 scanf("%d%d%d%d%d",&m,&n,&l,&r,&num); 22 for(int i=0;i<m;i++) 23 for(int j=0;j<n;j++) 24 { 25scanf("%d",&a[i][j]); 26 if(a[i][j]>=l&&a[i][j]<=r) 27 a[i][j]=num; 28 } 29 for(int i=0;i<m;i++) 30 { 31 print(a[i][0]); 32 for(int j=1;j<n;j++) 33 { 34 printf(" "); 35 print(a[i][j]); 36 } 37 printf("\n"); 38 } 39 return 0;; 40 41 }
PAT 乙級 1066. 圖像過濾(15)