CodeForces - 552A Vanya and Table(물)

2453 단어
CodeForces - 552A
Vanya and Table
Time Limit: 2000MS
 
Memory Limit: 262144KB
 
64bit IO Format: %I64d & %I64u
Submit Status
Description
Vanya has a table consisting of 100 rows, each row contains 100 cells. The rows are numbered by integers from 1 to 100 from bottom to top, the columns are numbered from 1 to 100from left to right.
In this table, Vanya chose n rectangles with sides that go along borders of squares (some rectangles probably occur multiple times). After that for each cell of the table he counted the number of rectangles it belongs to and wrote this number into it. Now he wants to find the sum of values in all cells of the table and as the table is too large, he asks you to help him find the result.
Input
The first line contains integer n (1 ≤ n ≤ 100) — the number of rectangles.
Each of the following n lines contains four integers x1, y1, x2, y2 (1 ≤ x1 ≤ x2 ≤ 100, 1 ≤ y1 ≤ y2 ≤ 100), where x1 and y1 are the number of the column and row of the lower left cell and x2 and y2 are the number of the column and row of the upper right cell of a rectangle.
Output
In a single line print the sum of all values in the cells of the table.
Sample Input
Input
2
1 1 2 3
2 2 3 3

Output
10

Input
2
1 1 3 3
1 1 3 3

Output
18

Hint
Note to the first sample test:
Values of the table in the first three rows and columns will be as follows:
121
121
110
So, the sum of values will be equal to 10.
Note to the second sample test:
Values of the table in the first three rows and columns will be as follows:
222
222
222
So, the sum of values will be equal to 18.
Source
Codeforces Round #308 (Div. 2)
//제목: n을 입력하고 n개(x1, y1)(x2, y2)를 입력한다.
n개의 직사각형의 왼쪽 아래(가로 세로 좌표는 모두 1을 더하고 계산할 때 빼면 된다)와 오른쪽 위의 좌표를 표시하여 이 n개의 직사각형의 면적을 계산하도록 한다.
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
using namespace std;
int main()
{
	int n,i,j;
	int sum;
	int x1,x2,y1,y2;
	while(scanf("%d",&n)!=EOF)
	{
		sum=0;
		while(n--)
		{
			scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
			sum+=(x2-x1+1)*(y2-y1+1);
		}
		printf("%d
",sum); } return 0; }

좋은 웹페이지 즐겨찾기