ural 2032 Conspiracy Theory and Rebranding

链接:https://vjudge.net/contest/175269#problem/I

题意:给定一个三角形的三条边 (a, b, c),问是否可放在二维坐标,使得3个顶点都是整数点。若可以,输出任意一组解,否则,输出 -1。

思路:暴力枚举:以 a 为半径做第一象限的 1/4 圆, 以 b 为半径做 一、四 象限的半圆,存储整数点的解,暴力枚举 a 整数点与 b 整数点是否构成长度为 c 的边。

其实网上还有其他用本源勾股数组做的,但需要分类比较麻烦

#include <iostream>
#include<cstdio>
#include<bits/stdc++.h>
using namespace std;
int a,b,c;
struct node
{int x,y;
}aa[100010],bb[100010];
int main()
{while(~scanf("%d%d%d",&a,&b,&c)){int i,j,y;int k1 = 0,k2 = 0;//找出在第一象限1/4圆上的整点for(int i=0;i<=a;i++){y = (int)sqrt(a*1.0*a-i*1.0*i);if(y*y+i*i==a*a){aa[k1].x=i;aa[k1].y=y;k1++;}}//找出在第一,四象限半圆上的整点for(int i=-b;i<=b;i++){y=(int)sqrt(b*1.0*b-i*1.0*i);if(y*y+i*i==b*b){bb[k2].x = i;bb[k2].y = y;k2++;}}int flag = 0;//验证两点之间距离是否等于第三条边for(int i=0;i<k1;i++){if(flag)break;for(int j=0;j<k2;j++){if(abs(aa[i].x-bb[j].x)*abs(aa[i].x-bb[j].x)+abs(aa[i].y-bb[j].y)*(abs(aa[i].y-bb[j].y))==c*c){flag = 1;printf("0 0\n%d %d\n%d %d\n",aa[i].x,aa[i].y,bb[j].x,bb[j].y);break;}}}if(!flag)printf("-1\n");}return 0;
}

ural 2032 Conspiracy Theory and Rebranding 整点三角形相关推荐

  1. ural 2032 Conspiracy Theory and Rebranding (数学水题)

    ural 2032  Conspiracy Theory and Rebranding 链接:http://acm.timus.ru/problem.aspx?space=1&num=2032 ...

  2. URAL 2032 - Conspiracy Theory and Rebranding【本源勾股数组】

    [题意] 给出三角形的三个边长,均是10^7以内的整数,问三角形的三个角的坐标是否能均是整数,输出其中任意一个解. [题解] 一开始想的是枚举一条边的横坐标,然后通过勾股定理以及算角度求出其他点的坐标 ...

  3. URAL_2032_Conspiracy Theory and Rebranding(暴力枚举)

    题型:计算几何 题意:给出三角形的三条边,问该三角形的三个顶点能否是直角坐标系中的整数格点. 分析: 设一个顶点在原点,然后作一个长度为a的圆和一个长度为b的圆,暴力求解圆上有多少个整数格点.然后枚举 ...

  4. P3166 [CQOI2014]数三角形(组合数学)

    P3166 [CQOI2014]数三角形(组合数学) 整点三角形个数. 正难则反,求出总方案和共线三角形方案数即可. 总方案:C((n+1)(m+1),3)C((n+1)(m+1),3)C((n+1) ...

  5. 分布式和非分布式_分布式防御虚假信息

    分布式和非分布式 I spoke recently at Disclosure - a conference started by Marc Rogers, bringing together int ...

  6. C语言程序设计输入x求函数y,C语言程序设计实践(OJ)-初识函数

    2964: 查闰年 Description 大家知道如何判断某一年是否是闰年吗?这个问题可难坏了小编,小编在写一个查找m年到n年之间闰年的程序,却苦于判断闰年的函数不会写,据说 今天你有上机课,我就拿 ...

  7. oracle宣传视频下载,1300首 Audiomachine 背景音乐电影宣传预告片配乐合辑(23集)...

    [音乐介绍] AUDIOMACHINE 中文为音频机器[trailermusic]厂牌的简称为AM,是属于华纳音乐旗下的LABEL.主要作曲家来自BMI大英作曲家协会的成员.当今世界上最顶级以及最赋盛 ...

  8. 基于用户的协同过滤算法

    最近写搜索引擎文章写多了,来一篇之前写的老文,给那些对推荐算法感兴趣想入门的人吧,最近也在做推荐广告系统,又翻出来看了看. 什么是推荐算法 推荐算法最早在1992年就提出来了,但是火起来实际上是最近这 ...

  9. 理想国pandas练习题3

    需求 存在test.json文件(文末),请完成以下需求 题1:读取json文件,并存储为csv文件 题1 # 题1:读取json文件,并存储为csv文件 import pandas as pddf ...

最新文章

  1. matlab计算函数区域面积,matlab 中函数regionprops 求解区域面积的原理
  2. 课程第一天内容《基础交换 一 》
  3. [ZJJOI2013]K大数查询 整体二分
  4. php html登陆逻辑,保持演示文稿(HTML)和逻辑(PHP)分开
  5. (10)System Verilog 关联数组
  6. 计算机操作系统-1days
  7. 人肉搜索将被禁止,大家要保护好自己的个人信息!
  8. 基于CompactRIO的嵌入式车载电性能测试系统研发
  9. ESP32 EC11 制作电脑音量调节旋钮
  10. 使用 Zadig 交付云原生微服务应用
  11. Description 给出一个N*N的二维数组,求出其中的最大数和其所在的行号、列号(均从0开始计算)。 Input 第1行是一个正整数N(2≤N≤10),表示二维数组的大小。后跟N行,每行N个数。
  12. ssh登录ubuntu
  13. 停!别盲目跟风学Python了!网友:我太难了...
  14. Nachos进程数量限制128、ID号分配以及基于优先级的调度算法详解
  15. 目前主流游戏引擎的分析报告
  16. 2017 云+未来峰会——上海站开发者专场即将开讲(30元电话充值卡等你拿)
  17. 考研网络100基础知识
  18. 导出iphone手机安装包的几种方法
  19. Spring Boot+MyBatis Plus+JWT 问卷系统!开源!
  20. python抓取微博数据中心_微博爬虫开源项目汇总大全

热门文章

  1. 水深6到9米有鱼吗_你了解过敦煌吗?走进月牙泉
  2. 【字典树】2828 - 字典树
  3. 【水花的2021年度总结】
  4. background-attachment:fixed实现酷炫效果
  5. 拉勾网数据处理与分析
  6. 【Vue】 Vue生命周期详解
  7. Unity3d如何实现四格漫画动态播放
  8. 忆17级信管杨友大三学年个人风雨兼程岁月
  9. 最常见的卸载Mac应用软件方法,彻底清除,果断收藏!
  10. 100之内含有7与7的倍数的数