B. Equal Rectangles

Posted -citywall123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了B. Equal Rectangles相关的知识,希望对你有一定的参考价值。

题意:给你4*n个木棒,问你能否组成n个面积相等的矩形。
 
题解:排序,若能组成,那么矩形的面积一定是  a[0]*a[n*4-1] ,依次用最小的乘以最大的判断面积即可
 
#include<iostream>
#include<string.h>
#include<string>
#include<algorithm>
#include<math.h>
#include<string>
#include<string.h>
#include<vector>
#include<utility>
#include<map>
#include<queue>
#include<set>
#define mx 0x3f3f3f3f
#define ll long long
using namespace std;
int n,t;
int a[500];
int main()

    int t;
    cin>>t;
    while(t--)
    
        cin>>n;
        for(int i=0;i<4*n;i++)
            cin>>a[i];
        sort(a,a+4*n);
        int s=a[0]*a[4*n-1];
        int cnt=0,j=4*n-1;
        for(int i=0;i<2*n-1;)
        
            if(a[i]*a[j]==s&&a[i]==a[i+1]&&a[j]==a[j-1])//还要判断相邻的边是否相等
            
                cnt++;
                i=i+2;
                j=j-2;
            
            else
                break;
        
        if(cnt==n)
            cout<<"YES"<<endl;
        else
            cout<<"NO"<<endl;
    

 

以上是关于B. Equal Rectangles的主要内容,如果未能解决你的问题,请参考以下文章

B. Equal Rectangles ( Codeforces Round #579 )

B. Queries about less or equal elements1300 / 二分

matplotlib (equal unit length): with 'equal' aspect ratio z-axis is not equal to x- and y-

CodeForces - 1620A Equal or Not Equal

CodeForces - 1620A Equal or Not Equal

assert.equal()