325A - Square and Rectangles - CodeForces Solution


implementation *1500

Please click on ads to support us..

Python Code:

n=int(input())
rec=[list(map(int,input().split())) for i in range(n)]
a=(min([rec[i][0] for i in range(n)]),min([rec[i][1] for i in range(n)]))
c=(max([rec[i][2] for i in range(n)]),max([rec[i][3] for i in range(n)]))
s=sum([(rec[i][2]-rec[i][0])*(rec[i][3]-rec[i][1]) for i in range(n)])
print('YES') if s==(c[1]-a[1])*(c[0]-a[0])and(c[0]-a[0]==c[1]-a[1]) else print('NO')

C++ Code:

#include<iostream>
using namespace std;
int maxx,maxy,sum;
int main()
{
	int n,x1,y1,x2,y2,i,minx=31405,miny=31405;
	cin>>n;
	for(i=1;i<=n;i++)
	{
		cin>>x1>>y1>>x2>>y2;
		sum+=(x2-x1)*(y2-y1);
		minx=min(minx,x1);
		miny=min(miny,y1);
		maxx=max(maxx,x2);
		maxy=max(maxy,y2);
	}
	if(maxx-minx==maxy-miny&&(maxx-minx)*(maxy-miny)==sum)
		cout<<"YES";
	else cout<<"NO";
	return 0;
}
//不重叠,所以直接比较面积就可以
 	  	 	 	 	 	     	   	 	 	 	


Comments

Submit
0 Comments
More Questions

46A - Ball Game
114A - Cifera
776A - A Serial Killer
25B - Phone numbers
1633C - Kill the Monster
1611A - Make Even
1030B - Vasya and Cornfield
1631A - Min Max Swap
1296B - Food Buying
133A - HQ9+
1650D - Twist the Permutation
1209A - Paint the Numbers
1234A - Equalize Prices Again
1613A - Long Comparison
1624B - Make AP
660B - Seating On Bus
405A - Gravity Flip
499B - Lecture
709A - Juicer
1358C - Celex Update
1466B - Last minute enhancements
450B - Jzzhu and Sequences
1582C - Grandma Capa Knits a Scarf
492A - Vanya and Cubes
217A - Ice Skating
270A - Fancy Fence
181A - Series of Crimes
1638A - Reverse
1654C - Alice and the Cake
369A - Valera and Plates