沫璃有一个画板,画板可以抽象成有100行每行100个像素点的正方形。沫璃在画板上画画,她一共画了n次,每次将一个矩形涂上颜色。沫璃想知道一共有多少个像素点被她涂过颜色。若一个像素点被涂了k次,那么认为有k个像素点被涂过颜色。
沫璃有一个画板,画板可以抽象成有100行每行100个像素点的正方形。沫璃在画板上画画,她一共画了n次,每次将一个矩形涂上颜色。沫璃想知道一共有多少个像素点被她涂过颜色。若一个像素点被涂了k次,那么认为有k个像素点被涂过颜色。
第一行一个数T(T<=100),表示数据组数。
对于每组数据,第一行一个整数n , (1<=n<=100)
接下来n行,每行4个整数x1, y1,
x2, y2 (1 <= x1 <= x2 <= 100, 1 <= y1 <= y2 <= 100),表示矩形的两个对角所对应的像素点的坐标。
对于每组数据,输出一行,表示沫璃一共涂了多少个像素点。
2 2 1 1 2 3 2 2 3 3 2 1 1 3 3 1 1 3 3
10 18
//我解释一下题意,刚开始我也没读懂题意,以下用题目中用例说明下 /* 输入例子1: * 2 * 2 * 1 1 2 3 * 2 2 3 3 * 2 * 1 1 3 3 * 1 1 3 3 * * 从(1,1)点填涂到(2,3)点,一共涂了6个格子(包括了点(1,1),一开始没考虑这个点就懵了,直接跳下一题), * 用下图解释下这一操作(0表示已经涂色,1表示未涂色) * 0 0 0 1 1 1 1... * 0 0 0 1 1 1 1... * 1 1 1 1 1 1 1... * .. * .. * 同理从点(2,2)涂到(3,3),一共涂了4个格子,所以用例输出10;第二个用例输出18. */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for (int i = 0; i < n; i++) { int t = sc.nextInt(); int sum=0; for (int j = 0; j < t; j++) { int x1 = sc.nextInt(); int y1 = sc.nextInt(); int x2 = sc.nextInt(); int y2 = sc.nextInt(); sum+=(x2-x1+1)*(y2-y1+1); } System.out.println(sum); } } }
#include<iostream> classpaint { public: paint(intx1, inty1, intx2, inty2) :_x1(x1), _y1(y1), _x2(x2), _y2(y2) { } ~paint() { _x1 = 0; _y1 = 0; _x2 = 0; _y2 = 0; } intmianji(intx1, inty1, intx2, inty2) { return(y2 - y1 + 1)*(x2 - x1 + 1); } private: int_x1; int_y1; int_x2; int_y2; }; usingnamespacestd; intmain(void) { intx1, y1, x2, y2, T, n; intsum[100] = {0}; cin>>T; if(T > 0 && T < 101) for(inti = 0; i < T; ++i) { sum[i] = 0; cin >> n; if(n>0&&n<101) for(intj = 1; j <= n; ++j) { cin >> x1 >> y1 >> x2 >> y2; paint pa(x1, y1, x2, y2); sum[i] += pa.mianji(x1, y1, x2, y2); } else cout << "false!"<< endl; } else { cout << "false!"<< endl; } for(inti = 0; sum[i] != 0; ++i) cout << sum[i] << endl; return0; } |
sum = int(input()) for i in range(sum): num = int(input()) result = 0 for j in range(num): my_list = list(map(int, input().split(" "))) x1 = my_list[0] y1 = my_list[1] x2 = my_list[2] y2 = my_list[3] square = (abs(x1-x2)+1)*(abs(y1-y2)+1) result += square print(result)
#include<iostream> using namespace std; int main() { int T; cin>>T; for(int i=0;i<T;i++) { int n; cin>>n; int total=0; for(int j=0;j<n;j++) { int x1,y1,x2,y2; cin>>x1>>y1>>x2>>y2; total+=(x2-x1+1)*(y2-y1+1); } cout<<total<<endl; } }
#include <iostream> (720)#include <cmath> using namespace std; int main(){ int T; cin>>T; while(T--){ int n; cin>>n; int sum = 0; for(int i=0;i<n;i++){ int x1,y1,x2,y2; cin>>x1>>y1>>x2>>y2; sum+=((abs(y2-y1)+1)*(abs(x2-x1)+1)); } cout<<sum<<endl; } return 0; }
#include <iostream> #include <vector> using namespace std; void show_num() { long long fre; cin >> fre; long long num; long long flag = 0; long long gg[4]; while (fre--) { for (long long i = 0; i < 4; i++) { cin >> gg[i]; } flag += (gg[2] - gg[0] + 1) * (gg[3] - gg[1] + 1); } cout << flag<<endl; } int main() { long long fre; cin >> fre; while (fre--) show_num(); }
T = int(input()) ind = 1 for j in range(T): sums = 0 n = int(input()) for i in range(n): [x1,y1,x2,y2] = list(map(int,input().split())) sums = sums+(x2-x1+1)*(y2-y1+1) print(sums)python3
import java.util.*; public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); int T = in.nextInt(); while(in.hasNext()){ int n = in.nextInt(); int [][]a = new int [n][4]; for(int i=0;i<n;i++){ for(int j=0;j<4;j++){ a[i][j]=in.nextInt(); } } int t = 0; for(int i=0;i<n;i++){ t = t+(a[i][3]-a[i][1]+1)*(a[i][2]-a[i][0]+1); } System.out.println(t); } } }
#include <stdio.h> #include <math.h> #include <stdlib.h> int main(void){ int T; int N; int i; int x1; int y1; int x2; int y2; int x; int y; int sum; int t; while(scanf("%d",&T)!=EOF){ for(t=0;t<T;t++){ sum = 0; scanf("%d",&N); for(i=0;i<N;i++){ scanf("%d %d %d %d",&x1,&y1,&x2,&y2); x = abs(x1-x2)+1; y = abs(y1-y2)+1; sum = sum + x*y; } printf("%d\n",sum); } } return 0; }
import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); //数组个数 int a=sc.nextInt(); int[] c=new int[a]; for(int z=0;z<a;z++){ int sum=0; //有几行 int b=sc.nextInt(); int num=0; for(int j=0;j<b;j++){ int aax=sc.nextInt(); int aay=sc.nextInt(); int bbx=sc.nextInt(); int bby=sc.nextInt(); int d=0; int e=0; if(aax>bbx){ d=aax-bbx+1; }else { d=bbx-aax+1; } if(aay>bby){ e=aay-bby+1; }else { e=bby-aay+1; } sum=sum+d*e; } c[z]=sum; } for(int t=0;t<a;t++){ System.out.println(c[t]); } } }
n=int(input()) A=[[] for i in range(n)] for i in range(n): num=int(input()) A[i]=[input().split() for j in range(num)] for i in range(n): sum_case=0 for j in range(2): sum_ju=(int(A[i][j][2])-int(A[i][j][0])+1)*(int(A[i][j][3])-int(A[i][j][1])+1) sum_case=sum_case+sum_ju print(sum_case)本地运行正确
PHP版本
<?php $groups = intval(fgets(STDIN)); $pixSumArr = []; for($i = 0; $i < $groups; $i++) { $columns = intval(fgets(STDIN)); $pixelSum = 0; for($j = 0; $j < $columns; $j++) { $coordinate = explode(" ", rtrim(fgets(STDIN))); $pixelSum += ($coordinate[2] - $coordinate[0] + 1) * ($coordinate[3] - $coordinate[1] + 1); } $pixSumArr[] = $pixelSum; } for($k = 0; $k < $groups; $k++) { echo $pixSumArr[$k] . PHP_EOL; }
Go版本
package main import ( "bufio" "fmt" "os" "strconv" "strings" ) var ( groups int columns int ) func main() { inputReader := bufio.NewReader(os.Stdin) groupsStr, err := inputReader.ReadString('\n') if err != nil { fmt.Println("groups read error: ", err) return } groupsStr = strings.Replace(groupsStr, "\n", "", -1) groups, err := strconv.Atoi(groupsStr) if err != nil { fmt.Println("convert groups to int failed, err: ", err) return } var pixelSumSlice []int for groups > 0 { columnsStr, err := inputReader.ReadString('\n') columnsStr = strings.Replace(columnsStr, "\n", "", -1) columns, err := strconv.Atoi(columnsStr) if err != nil { fmt.Println("columns convert to int failed, err: ", err) return } var pixelSum int for columns > 0 { columnsArgsStr, err := inputReader.ReadString('\n') if err != nil { fmt.Println("columns args read failed, err: ", err) return } columnsArgsStr = strings.Replace(columnsArgsStr, "\n", "", -1) columnsArgs := strings.Split(columnsArgsStr, " ") x1, _ := strconv.Atoi(columnsArgs[0]) x2, _ := strconv.Atoi(columnsArgs[2]) y1, _ := strconv.Atoi(columnsArgs[1]) y2, _ := strconv.Atoi(columnsArgs[3]) pixelSum += (x2 - x1 + 1) * (y2 - y1 + 1) columns-- } pixelSumSlice = append(pixelSumSlice, pixelSum) groups-- } if len(pixelSumSlice) == 0 { return } for _, val := range pixelSumSlice { fmt.Println(val) } }
}