zoukankan      html  css  js  c++  java
  • 201409-2 画图 Java

    思路:
    法1:计算每个矩形的小方块,去掉重复的
    法2:二维数组,需要涂色就置flag为1,最后遍历输出,不会有重复计算

    import java.util.Scanner;
    
    public class Main {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt();
    		boolean [][] flag = new boolean[105][105];
    		int count = 0;
    		for(int i=0;i<n;i++) {
    			int x1 = sc.nextInt();
    			int y1 = sc.nextInt();
    			int x2 = sc.nextInt();
    			int y2 = sc.nextInt();
    			//矩形全部涂色
    			for(int j=y1;j<y2;j++) {
    				for(int k=x1;k<x2;k++) {
    					flag[j][k] = true;
    				}
    			}
    		}
    		for(int i=0;i<flag.length;i++) {//遍历全部行数
    			for(int j=0;j<flag[i].length;j++) {//遍历全部列数
    				if(flag[i][j]) {//只会算一次
    					count++;
    				}
    			}
    		}
    		sc.close();
    		System.out.println(count);
    	}
    
    }
    
  • 相关阅读:
    快速排序
    冒泡排序
    桶排序
    Writer及其子类
    Reader及其子类
    OutputStream及其子类
    InputStream及其子类
    基础IO类和相关方法
    File类
    枚举
  • 原文地址:https://www.cnblogs.com/yu-jiawei/p/12343195.html
Copyright © 2011-2022 走看看