ccf题目:画图


试题编号:


201409-2


试题名称:


画图


时间限制:


1.0s


内存限制:


256.0MB


问题描述:


问题描述

  在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。

  下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只计算一次。在实际的涂色过程中,所有的矩形都涂成统一的颜色,图中显示不同颜色仅为说明方便。

  给出所有要画的矩形,请问总共有多少个单位的面积被涂上颜色。

输入格式

  输入的第一行包含一个整数n,表示要画的矩形的个数。

  接下来n行,每行4个非负整数,分别表示要画的矩形的左下角的横坐标与纵坐标,以及右上角的横坐标与纵坐标。

输出格式

  输出一个整数,表示有多少个单位的面积被涂上颜色。

样例输入

2

1 1 4 4

2 3 6 5

样例输出

15

评测用例规模与约定

  1<=n<=100,0<=横坐标、纵坐标<=100。

----------------------------------------------------------------------------------------------------------------------

解答

代码如下:

package CSP3;

import java.util.Scanner;

public class Main2 {
	public static void main(String[] args) {
		new Main2().run();
	}
	public void run(){
		Scanner sc=new Scanner(System.in);
		int x1=0,x2=0,y1=0,y2=0;
		int[][] flag=new int[107][107];
		int n=sc.nextInt();
		for(int k=0;k<n;k++){
			x1=sc.nextInt();
			y1=sc.nextInt();
			x2=sc.nextInt();
			y2=sc.nextInt();
			for(int i=x1;i<x2;i++){
				for(int j=y1;j<y2;j++){  //对每个单元格建立坐标
					flag[i][j]=1;         //已扫描过的单元格状态记为1,这道题的突破口
				}
			}
		}
		int result=0;
		for(int i=0;i<=100;i++){
			for(int j=0;j<=100;j++){
				if(flag[i][j]==1){
					result+=1;
					//System.out.println(result); 测试
				}
			}
		}
		System.out.println(result);
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 17:36:11

ccf题目:画图的相关文章

CCF 201512-3 画图 (DFS搜索+模拟)

问题描述 用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术.例如,下图是用 ASCII 字符画出来的 CSPRO 字样. ..____.____..____..____...___.. ./.___/.___||.._.\|.._.\./._.\. |.|...\___.\|.|_).|.|_).|.|.|.| |.|___.___).|..__/|.._.<|.|_|.| .\____|____/|_|...|_|.\_\\___/. 本题要求编程实现

CCF题目:相邻数对

问题描述 给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1. 输入格式 输入的第一行包含一个整数n,表示给定整数的个数. 第二行包含所给定的n个整数. 输出格式 输出一个整数,表示值正好相差1的数对的个数. 样例输入 6 10 2 6 3 7 8 样例输出 3 样例说明 值正好相差1的数对包括(2, 3), (6, 7), (7, 8). 评测用例规模与约定 1<=n<=1000,给定的整数为不超过10000的非负整数. -----------------------------

CCF题目:相反数

问题描述 有 N 个非零且各不相同的整数.请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数). 输入格式 第一行包含一个正整数 N.(1 ≤ N ≤ 500). 第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同. 输出格式 只输出一个整数,即这 N 个数中包含多少对相反数. 样例输入 5 1 2 3 -1 -2 样例输出 2 -------------------------------------------------------

CCF题目: 图像旋转

问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度. 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可. 输入格式 输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数. 接下来n行每行包含m个整数,表示输入的图像. 输出格式 输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵. 样例输入 2 3 1 5 3 3 2 4 样例输出 3 4 5 2 1 3 评测用例规模与约定 1 ≤ n, m ≤ 1,00

ccf题目:字符串匹配

试题编号: 201409-3 试题名称: 字符串匹配 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符:当选项关闭时,表示同一个字母的大写和小写看作相同的字符. 输入格式 输入的第一行包含一个字符串S,由大小写英文字母组成. 第二行包含一个数字,表示大小写敏感的选项,当数字为0时表示大小写不敏感,当数字为1时表示大小写敏感.

python快速入门实例

实例001:数字组合题目 有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析 遍历全部可能,把有重复的剃掉. total=0for i in range(1,5): for j in range(1,5): for k in range(1,5): if ((i!=j)and(j!=k)and(k!=i)): print(i,j,k) total+=1print(total) 简便方法 用itertools中的permutations即可. import

第六届CCF计算机职业资格认证考试题解(第三题)(画图)

之前在CSDN上看到别人的代码,跑了下,发现官方给的第一个测例是过不去的,但是提交上去之后是100分,猜测是判题系统中并没有使用题目中给的第一个测例. 另,之前自己写的代码是零分,后来发现是字符之间多输出了空格,以后还是要认真看题. 最后改了之后,是90分,后来经人指正,是没有考虑到划线时遇到'+'时的情况,不论是画'|'还是'-',遇到'+'时仍旧要保持'+'号. 原文:http://blog.csdn.net/jaster_wisdom/article/details/51059144 一下

CCF系列之画图(201409-2)

试题编号: 201409-2试题名称: 画图时间限制: 1.0s内存限制: 256.0MB问题描述: 问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色. 下图给出了一个画了两个矩形的例子.第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示.第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示.图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只计算一次.在实

CCF真题之画图

201409-2 问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色. 下图给出了一个画了两个矩形的例子.第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示.第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示.图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只计算一次.在实际的涂色过程中,所有的矩形都涂成统一的颜色,图中显示不同颜色仅为说明方便. 给出所有