藍橋杯試題 算法訓練 相鄰數對 畫圖

試題 算法訓練 相鄰數對

資源限制
時間限制:1.0s 內存限制:256.0MB
問題描述
  給定n個不同的整數,問這些數中有多少對整數,它們的值正好相差1。
輸入格式
  輸入的第一行包含一個整數n,表示給定整數的個數。
  第二行包含所給定的n個整數。
輸出格式
  輸出一個整數,表示值正好相差1的數對的個數。
樣例輸入
6
10 2 6 3 7 8
樣例輸出
3
樣例說明
  值正好相差1的數對包括(2, 3), (6, 7), (7, 8)。
評測用例規模與約定
  1<=n<=1000,給定的整數爲不超過10000的非負整數。
提交代碼

import java.util.Arrays;
import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		int[] a = new int[n];
		for(int i = 0; i < n; i ++) a[i] = in.nextInt();
		Arrays.sort(a);
		int ans = 0;
		for(int i = 0; i < n - 1; i ++)
			if(a[i + 1] - a[i] == 1) ans ++;
		System.out.println(ans);
	}
}

試題 算法訓練 畫圖

資源限制
時間限制: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。
提交代碼

import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		boolean[][] mp = new boolean[105][105];
		int x1, y1, x2, y2;
		for(int i = 0; i < n; i ++) {
			x1 = in.nextInt();
			y1 = in.nextInt();
			x2 = in.nextInt();
			y2 = in.nextInt();
			for(int j = x1; j < x2; j ++)
				for(int k = y1; k < y2; k ++)
					mp[j][k] = true;
		}
		int ans = 0;
		for(int i = 0; i <= 100; i ++)
			for(int j = 0; j <= 100; j ++)
				if(mp[i][j]) ans ++;
		System.out.println(ans);
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章