EOJ-大学生程序设计邀请赛(华东师范大学)-I-七巧板

本文主要是介绍EOJ-大学生程序设计邀请赛(华东师范大学)-I-七巧板,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ACM模版

描述

描述
描述

题解

计算几何问题……不难,就是麻烦,精度问题也需要着重注意,注意人家输入精确到 1012 ,而不是拼接时精确到 1012

我是通过判断面积是否可以构成正方形(与最大边符合),三角形是否有五个,四边形是否有两个,七个多边形一共23条边排序后是否符合七巧板的规格等等,当然,我这个也不是最简单的,完全可以通过判断多边形之间各边关系来判定是否可行,具体的需要自己去发掘了,七巧板中边与边的关系实在是丰富,O(∩_∩)O哈哈~

记得上一次听到七巧板这个名词大概是在小学三年级了吧,好怀念啊!

代码

#include <iostream>
#include <algorithm>
#include <cmath>using namespace std;const int MAXN = 7;
const int MAXA = 23;
const double ESP = 1e-7;double res = 0;struct Lpoint
{double x, y;
};  //  点/**  要求按照逆时针方向输入多边形顶点*  可以是凸多边形或凹多边形*/
double area_of_polygon(int vcount, Lpoint plg[])
{int i;double s;if (vcount < 3){return 0;}s = plg[0].y * (plg[vcount - 1].x - plg[1].x);for (i = 1; i < vcount; i++){s += plg[i].y * (plg[(i - 1)].x - plg[(i + 1) % vcount].x);}return s / 2;
}Lpoint plg[MAXN];
double area[MAXA];int main(int argc, const char * argv[])
{int vcount;int cnt_3 = 0;int cnt_4 = 0;int cnt_area = 0;for (int i = 0; i < MAXN; i++){cin >> vcount;if (vcount == 3){cnt_3++;}else{cnt_4++;}for (int j = 0; j < vcount; j++){cin >> plg[j].x >> plg[j].y;}for (int j = 0; j < vcount; j++){area[cnt_area++] = pow(plg[j].x - plg[(j + 1) % vcount].x, 2)+ pow(plg[j].y - plg[(j + 1) % vcount].y, 2);}res += area_of_polygon(vcount, plg);}if (cnt_3 != 5 || cnt_4 != 2){cout << "NO\n";return 0;}sort(area, area + cnt_area);if (fabs(area[9] - area[0]) > ESP || fabs(area[10] - area[9]) < ESP){cout << "NO\n";return 0;}if (fabs(area[15] - area[10]) > ESP || fabs(area[16] - area[15]) < ESP){cout << "NO\n";return 0;}if (fabs(area[20] - area[16]) > ESP || fabs(area[21] - area[20] < ESP)){cout << "NO\n";return 0;}if (fabs(area[22] - area[21]) > ESP){cout << "NO\n";return 0;}puts(fabs(area[MAXA - 1] - res) < ESP ? "YES" : "NO");return 0;
}

参考

《Liuctic计算几何库》

这篇关于EOJ-大学生程序设计邀请赛(华东师范大学)-I-七巧板的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/819426

相关文章

C语言程序设计(数据类型、运算符与表达式)

一、C的数据类型 C语言提供的数据类型: 二、常量和变量 2.1常量和符号常量 在程序运行过程中,其值不能被改变的量称为常量。 常量区分为不同的类型: 程序中用#define(预处理器指令)命令行定义变量将代表常量,用一个标识符代表一个常量,称为符合常量。 2.2变量 变量代表内存中具有特定属性的一个存储单元,用来存放数据,在程序运行期间,这些值是可以 改变的。 变

C语言程序设计(选择结构程序设计)

一、关系运算符和关系表达式 1.1关系运算符及其优先次序 ①<(小于) ②<=(小于或等于) ③>(大于) ④>=(大于或等于 ) ⑤==(等于) ⑥!=(不等于) 说明: 前4个优先级相同,后2个优先级相同,关系运算符的优先级低于算术运算符,关系运算符的优先级高于赋值运算符 1.2关系表达式 用关系运算符将两个表达式(可以是算术表达式或关系表达式,逻辑表达式,赋值表达式,字符

如何打造个性化大学生线上聊天交友系统?Java SpringBoot Vue教程,2025最新设计思路

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 | SpringBoot/SSM Python实战项目 | Django 微信小程序/安卓实战项目 大数据实战项目 ⚡⚡文末获取源码 文章目录

智能工厂程序设计 之1 智能工厂都本俱的方面(Facet,Aspect和Respect)即智能依赖的基底Substrate 之1

Q1、昨天分别给出了三个智能工厂的 “面face”(里面inter-face,外面outer-face和表面surface) 以及每个“面face” 各自使用的“方”(StringProcessor,CaseFilter和ModeAdapter)  。今天我们将继续说说三个智能工厂的“方面” 。在展开之前先看一下三个单词:面向facing,取向oriented,朝向toword。理解这三个词 和

2024 年高教社杯全国大学生数学建模竞赛题目——2024 年高教社杯全国大学生数学建模竞赛题目的求解

2024 年高教社杯全国大学生数学建模竞赛题目 (请先阅读“ 全国大学生数学建模竞赛论文格式规范 ”) 2024 年高教社杯全国大学生数学建模竞赛题目 随着城市化进程的加快、机动车的快速普及, 以及人们活动范围的不断扩大,城市道 路交通拥堵问题日渐严重,即使在一些非中心城市,道路交通拥堵问题也成为影响地方经 济发展和百姓幸福感的一个“痛点”,是相关部门的棘手难题之一。 考虑一个拥有知名景区

2024 年高教社杯全国大学生数学建模竞赛 C 题 农作物的种植策略 参考论文 无水印

持续更新中,2024年数学建模比赛思路代码论文都会发布到专栏内,只需订阅一次!  完整论文+代码+数据结果链接在文末!  订阅后可查看参考论文文件 第一问 1.1 问题重述 这个问题围绕的是华北山区的某乡村,在有限的耕地条件下,如何制定最优的农作物种植策略。乡村有 34 块露天耕地和 20 个大棚,种植条件包括粮食作物、蔬菜、水稻和食用菌。除了要考虑地块的面积、种植季节等,还要确保

2024年全国大学生数学建模A题借鉴论文

问题  1: 舞龙队的动态位置与速度计算 1. **螺旋线的几何建模**:根据题目描述,舞龙队沿着等距螺旋线前进。螺旋线的螺距为 55 cm, 需根据极坐标公式确定每节板凳的位置。 -  极坐标螺旋线方程:\( r = a + b\theta \), 其中  \( b \)  是螺距, 可以利用该方程计算 每秒舞龙队的各个节数的坐标。 2. **速度计算**:给定龙头的行进速度为 1 m/s ,

C语言程序设计 笔记代码梳理 重制版

前言 本篇以笔记为主的C语言详解,全篇一共十章内容,会持续更新基础内容,争取做到更详细。多一句没有,少一句不行!  形而上学者谓之道,形而下学者谓之器 形而上学者谓之道,形而下学者谓之器 第1章 C语言的流程 1.C程序经历的六个阶段 编辑(Edit)预处理(Preprocess)编译(Compile)汇编(Assemble)链接(Link)执行(Execute)  2.

2024 年高教社杯全国大学生数学建模竞赛题目【A/B/C/D/E题】完整论文+代码+结果

编辑 2024国赛A题参考论文https://download.csdn.net/download/qq_52590045/897183672024国赛D题参考论文https://download.csdn.net/download/qq_52590045/897158482024国赛E题参考论文https://download.c

ACM东北地区程序设计大赛

不得不说随着参赛级别的提高,题目真的是越来越难啊,不过队长真是给力啊,在我们三个共同努力之下拿下了地区赛三等奖,哈哈我们可是大一唯一一只获奖队,终于在这次比赛打败了田大神。。。大神是失手了,俺和他差距还是挺大的。。。队友陈彤马上要去服兵役了,他说这是我们送给他最好的离别礼物,希望那家伙在部队好好干,以后谁干揍我!!!东北地区赛结束后,今年已经估计没机会参加亚洲区比赛了,赶紧补高数和线数啊!!别挂了