日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

CCF系列之画图(201409-2)

發布時間:2023/11/27 生活经验 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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個單位的面積被涂上顏色,其中紫色部分被涂了兩次,但在計算面積時只計算一次。在實際的涂色過程中,所有的矩形都涂成統一的顏色,圖中顯示不同顏色僅為說明方便。
  
  給出所有要畫的矩形,請問總共有多少個單位的面積被涂上顏色。 輸入格式 輸入的第一行包含一個整數n,表示要畫的矩形的個數。
  接下來n行,每行4個非負整數,分別表示要畫的矩形的左下角的橫坐標與縱坐標,以及右上角的橫坐標與縱坐標。 輸出格式 輸出一個整數,表示有多少個單位的面積被涂上顏色。 樣例輸入 2
1 1 4 4
2 3 6 5 樣例輸出 15 評測用例規模與約定 1<=n<=100,0<=橫坐標、縱坐標<=100。 解題思路: 實現代碼(java):
 1 package ccf_test2014_09;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Draw {
 6 
 7     private static int N;
 8 
 9     public static void main(String[] args) {
10 
11         boolean[][] flag = new boolean[101][101];
12 
13         Scanner input = new Scanner(System.in);
14 
15         N = input.nextInt();
16         
17         input.nextLine();
18 
19         int x1, y1, x2, y2;
20 
21         for (int i = 0; i < N; i++) {
22 
23             x1 = input.nextInt();
24 
25             y1 = input.nextInt();
26 
27             x2 = input.nextInt();
28 
29             y2 = input.nextInt();
30             
31 
32             for (int p = x1; p < x2; p++) {
33 
34                 for (int q = y1; q < y2; q++) {
35                     
36                     flag[p][q] = true;
37                 }
38             }
39             input.nextLine();
40             
41         }
42         int ans = 0;
43         
44         for (int i = 0; i <= 100; i++){
45             
46             for (int k = 0; k <= 100; k++) {
47                 
48                 
49                 if (flag[i][k]){
50 
51                     ans++;
52                 }
53             }
54         }
55             
56         System.out.println(ans);
57 
58     }
59 }
View Code

?

運行結果: 正確結果和錯誤結果的差異在于 ?input.nextLine(); ?的有無 實現代碼(c++):
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 bool flag[107][107];
 4 int n;
 5 int x1,yy1,x2,y2;
 6 void slove()
 7 {
 8     for(int i=x1;i<x2;i++)
 9         for(int j=yy1;j<y2;j++)
10          flag[i][j]=1;
11 }
12 int main()
13 {
14  //     freopen("in.txt","r",stdin);
15     while(~scanf("%d",&n)){
16           memset(flag,0,sizeof(flag));
17        for(int i=0;i<n;i++)
18                 {
19                     scanf("%d%d%d%d",&x1,&yy1,&x2,&y2);
20                      slove();
21                 }
22             int ans=0;
23         for(int i=0;i<=100;i++)
24             for(int j=0;j<=100;j++)
25         {
26             if(flag[i][j]) ans++;
27         }
28         cout<<ans<<endl;
29     }
30     return 0;
31 }
View Code

?

運行結果:

轉載于:https://www.cnblogs.com/haimishasha/p/5352144.html

總結

以上是生活随笔為你收集整理的CCF系列之画图(201409-2)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。