Round#579(Div 3) B. Equal Rectangles
时间:2019-08-14
本文章向大家介绍Round#579(Div 3) B. Equal Rectangles,主要包括Round#579(Div 3) B. Equal Rectangles使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题意:输入一组长方形的边长,询问是否能构成一组面积相同的长方形
思路:先检查这些边是否能构成长方形,即检查相同长度的边的个数是否为偶数
再将这些边的个数除以二,进行排序;
每次从有序的边中不放回地取出最长边和最短边相乘,检查其是否相等。
1 #include <iostream> 2 #include <vector> 3 #include <map> 4 #include <algorithm> 5 using namespace std; 6 int main(){ 7 int t; 8 cin>>t; 9 while(t --){ 10 map<int, int> cnt; 11 vector<int> note; 12 int n; 13 cin>>n; 14 n *= 4; 15 for(int i = 0; i < n; i ++){ 16 int inp; 17 cin>>inp; 18 cnt[inp] ++; 19 note.push_back(inp); 20 } 21 bool f = true; 22 for(map<int, int>::iterator it = cnt.begin();\ 23 it != cnt.end(); \ 24 it ++){ 25 if(it->second & 1){ 26 f = false; 27 break; 28 } 29 for(int i = it->second; i; i -= 2) 30 note.push_back(it->first); 31 } 32 if(f == false) 33 cout<<"NO"<<endl; 34 else{ 35 int len = note.size(); 36 bool flag = true; 37 sort(note.begin(), note.end()); 38 int tmp = note[0]*note[len - 1]; 39 for(int i = 0; i < len / 2; i ++){ 40 if(note[i]*note[len - 1 - i] != tmp){ 41 flag = false; 42 break; 43 } 44 } 45 if(flag) 46 cout<<"YES"<<endl; 47 else 48 cout<<"NO"<<endl; 49 } 50 } 51 return 0; 52 }
原文地址:https://www.cnblogs.com/quantumbird/p/11349595.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 17.splash_case02
- 17.splash_case03
- 17.splash_case06_ScrapySplashTest-master
- 17.获取代理ip
- 18.scrapy_maitian
- 18.scrapy_maitian_analysis
- 19.SimLogin_case01
- 19.SimLogin_case02
- 19.SimLogin_case03
- 19.SimLogin_case04
- 19.SimLogin_case05
- 19.SimLogin_case06
- 19.SimLogin_case07
- 19.SimLogin_case08
- 轻量级 Node.js Web 框架 Daruk2.0 正式版发布了!