• PAT乙级:1066 图像过滤 (15分)


    PAT乙级:1066 图像过滤 (15分)

    题干

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

    输入格式:

    输入在第一行给出一幅图像的分辨率,即两个正整数 MN(0<M,N≤500),另外是待过滤的灰度值区间端点 AB(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
    

    思路

    把每个数据判断一下是否在范围内,注意范围是闭区间。在的话替换,不在的话不动。并且不需要数组来存储。

    记得别用cincout,避免超时

    code

    #include<iostream>
    using namespace std;
    int main(){
    	int x=0,y=0,start=0,end=0,sp=0,input_temp=0;
    	cin>>x>>y>>start>>end>>sp;
    	for(int i=0;i<x;i++){
    		for(int j=0;j<y;j++){
    			scanf("%d",&input_temp);
    			if(j!=0) printf(" "); 
    			if(input_temp>=start&&input_temp<=end) input_temp=sp;
    			printf("%03d",input_temp);
    		}
    		printf("
    "); 
    	}
    	return 0;
    } 
    

    结果

    提交时间 状态 分数 题目 编译器 耗时 用户
    2020/4/2 11:14:27 答案正确 15 1066 C++ (g++) 108 ms a man
    测试点 结果 耗时 内存
    0 答案正确 3 ms 424 KB
    1 答案正确 4 ms 400 KB
    2 答案正确 4 ms 420 KB
    3 答案正确 108 ms 1376 KB
  • 相关阅读:
    【PHP&&MySQL详解】
    【PHP对XML文件的操作技术【完整版】】
    【PHP XML与dtd概述【完整版】】
    【PHP的异常处理【完整】】
    【PHP用户的错误日志】
    【PHP自定义显示系统级别的致命错误和用户级别的错误】
    【PHP数组的使用】
    【PHP构造方法和析构方法的使用】
    【php全局变量和静态变量、静态方法的使用方法】
    【mysql启动Innodb的方法】
  • 原文地址:https://www.cnblogs.com/cell-coder/p/12619186.html
Copyright © 2020-2023  润新知