zoukankan      html  css  js  c++  java
  • PAT乙级1066-----图像过滤 (15分)(水)

    1066 图像过滤 (15分)

    图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。

    输入格式:

    输入在第一行给出一幅图像的分辨率,即两个正整数 M 和 N(0),另外是待过滤的灰度值区间端点 A 和 B(0)、以及指定的替换灰度值。随后 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

    思路:判断输入输入是否位于[min.max]之间选择输出原数还是输出替换的灰度值

    首次通过代码:
     1 #include<stdio.h>
     2 
     3 void output(int a){
     4    if(a<10) printf("00%d",a);
     5    else if(a<100) printf("0%d",a);
     6    else printf("%d",a);
     7 }
     8 int main(){
     9     int M,N;
    10     int max,min;
    11     int grey;
    12     scanf("%d %d %d %d %d",&M,&N,&min,&max,&grey);
    13     for(int i=0;i<M;i++){
    14       for(int j=0;j<N;j++){
    15            int a;
    16            scanf("%d",&a);
    17            if(a>=min&&a<=max) output(grey);
    18            else output(a);
    19            if(j!=N-1) printf(" ");
    20       }
    21       if(i!=M-1) printf("
    ");
    22     }
    23     return 0;
    24 }
    View Code
  • 相关阅读:
    优化SQL查询:如何写出高性能SQL语句
    提高SQL执行效率的16种方法
    Spring Ioc DI 原理
    java内存泄漏
    转:js闭包
    LeetCode Best Time to Buy and Sell Stock III
    LeetCode Best Time to Buy and Sell Stock with Cooldown
    LeetCode Length of Longest Fibonacci Subsequence
    LeetCode Divisor Game
    LeetCode Sum of Even Numbers After Queries
  • 原文地址:https://www.cnblogs.com/a982961222/p/12365141.html
Copyright © 2011-2022 走看看