当前位置: 首页 > news >正文

盒子 Box

UVa1587

 思路:

1.输入每个面的长宽并将每个面较长的一边放在前面

2.判断是否存在三对面分别相等

3.判断是否存在三组四棱相等

#include <stdio.h>
#include <stdlib.h>
#define maxn 100int cmp(const void* e1, const void* e2)
{return (int)(*(double*)e1 - *(double*)e2);
}int main()
{double h[maxn] = { 0 };double w[maxn] = { 0 };int sign[6] = { 0 };//标记for (int i = 0; i < 6; i++){scanf("%lf %lf", &h[i], &w[i]);if (h[i] < w[i])//把比较大的放前面{double tmp = h[i];h[i] = w[i];w[i] = tmp;}}//判断是否存在三组面两两相等for (int i = 0; i < 6; i++){if (sign[i] == 1){continue;}for (int j = i + 1; j < 6; j++){if (h[i] == h[j]){if (w[i] == w[j]){sign[i] = 1;sign[j] = 1;break;}}}}for (int i = 0; i < 6; i++){if (sign[i] != 1){printf("NO\n");return 0;}}//判断是否存在三组棱4条相等double h_w[maxn] = { 0 };for (int i = 0; i < 6; i++){h_w[i] = h[i];}for (int i = 0; i < 6; i++){h_w[i + 6] = w[i];}qsort(h_w, 12, sizeof(double), cmp);//排序,便于判断每组四条棱是否相等for (int i = 0; i < 12; ){if (h_w[i] == h_w[i + 1] && h_w[i + 1] == h_w[i + 2] && h_w[i + 2] == h_w[i + 3]){i = i + 4;}else{printf("NO\n");return 0;}}printf("YES\n");return 0;
}

http://www.lryc.cn/news/266806.html

相关文章:

  • uni-app附件下载预览 并解决打开附件时黑屏
  • 卸载了Visual Studio后,在vscode中执行npm i或npm i --force时报错,该怎么解决?
  • 渗透测试 | 信息收集常用方法合集
  • 使用 ElementUI 组件构建无边框 Window 桌面应用(WinForm/WPF)
  • JavaScript中数组的方法和函数作用域问题
  • nodejs设置x-xss-protection解决xss问题
  • C/C++不同整数类型的区别
  • 如何理解JDK、JRE、JVM区别与联系
  • 用友GRP-U8 SmartUpload01 文件上传漏洞
  • react 路由v6
  • rpc【通义】rpc原理【gpt】
  • Leetcode 2973. Find Number of Coins to Place in Tree Nodes
  • 如何调动销售人员使用CRM的积极性?
  • 数值分析期末复习
  • k8s的探针
  • Python 爬虫之下载视频(五)
  • Gradle下载地址
  • 顺序表的实现(头插、尾插、头删、尾删、查找、删除、插入)
  • VMware虚拟机安装Ubuntu系统教程
  • 41 sysfs 文件系统
  • C++面试宝典第9题:找出第K大元素
  • “马屁精”李白
  • python之glob的用法
  • 【adb】电脑通过ADB向手机传输文件
  • npm的常用使用技巧
  • 【网络奇遇记】揭秘计算机网络的性能指标:速率|带宽|吞吐量|时延
  • ACM中算法时间约束
  • C++11的列表初始化和右值引用
  • 千帆起航:探索百度智能云千帆AppBuilder在AI原生应用开发中的革新之路
  • RevIT™ AAV Enhancer, 提高AAV产量的又一利器!