题型:计算几何

题意:给出三角形的三条边,问该三角形的三个顶点能否是直角坐标系中的整数格点。

分析:

设一个顶点在原点,然后作一个长度为a的圆和一个长度为b的圆,暴力求解圆上有多少个整数格点。然后枚举圆a上的整数格点和圆b上的整数格点,看距离是否为c,有的话直接输出,最后也没找到就输出-1.

代码:

#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<vector>#define LL __int64
using namespace std;struct Point {int x,y;Point(int x = 0 , int y = 0):x(x),y(y) {}void out() {printf("%d %d\n",x,y);}
};vector<Point> v;LL dist(Point T,Point S) {return 1LL*(T.x-S.x)*(T.x-S.x)+1LL*(T.y-S.y)*(T.y-S.y);
}int main() {int a,b,c;while(~scanf("%d%d%d",&a,&b,&c)) {Point O(0,0);v.clear();for(int i=0; i<=a; i++) {LL tmp = 1LL*a*a - 1LL*i*i;int j = sqrt(tmp+0.0);if(1LL*j*j != tmp) j++;if(1LL*j*j != tmp) continue;v.push_back(Point(i,j));}Point B;for(int i=0; i<=b; i++) {LL tmp = 1LL*b*b - 1LL*i*i;int j = sqrt(tmp+0.0);if(1LL*j*j != tmp) j++;if(1LL*j*j != tmp) continue;B = Point(i,j);for(int k=0; k<v.size(); k++) {if(dist(v[k],B) == 1LL*c*c) {O.out();B.out();v[k].out();return 0;}}B = Point(i,-j);for(int k=0; k<v.size(); k++) {if(dist(v[k],B) == 1LL*c*c) {O.out();B.out();v[k].out();return 0;}}B = Point(-i,j);for(int k=0; k<v.size(); k++) {if(dist(v[k],B) == 1LL*c*c) {O.out();B.out();v[k].out();return 0;}}B = Point(-i,-j);for(int k=0; k<v.size(); k++) {if(dist(v[k],B) == 1LL*c*c) {O.out();B.out();v[k].out();return 0;}}}puts("-1");}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 整点三角形

    ural 2032 Conspiracy Theory and Rebranding 链接:https://vjudge.net/contest/175269#problem/I 题意:给定一个三角形 ...

  3. POJ 3174 暴力枚举

    思路: 暴力枚举三个点 判一判 搞定 (x1*y1=x2*y2) x1.y1.x2.y2为他们两两的差 //By SiriusRen #include <cstdio> using nam ...

  4. codeforces数学1600day6[CodeForces - 1029C多区间交+枚举,CodeForces 992C[数学公式推导],CodeForces 992B[质因数分解+暴力枚举]]

    A - Maximal Intersection CodeForces - 1029C 题目大意:就是给你n个区间,这n个区间有公共的区间长度为x,现在叫你从这n个区间中删掉一个使得x最大化. 解题思 ...

  5. 最大字段和 冲出暴力枚举

    这篇解题报告是对我最近一些题的总结,里面的代码都是我解题,优化,再优化的过程的记录,记录了自己对算法的完善与优化思路,还有对编程哲学的理解:do it,do it well. 很感谢孙老师您,让自己可 ...

  6. hdu 4587 TWO NODES 暴力枚举+tarjan

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4587 题意是拿掉两个点 求最多可以把整个图分成几个联通块 注意到有一个模板是可以通过找割点来快速求出 ...

  7. 一道暴力枚举题Win32版本示例

    来看一个问题:该问题的解法是 暴力枚举:这大概是ACM方面的:名称叫火柴棒等式: 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数( ...

  8. C. Divisibility by Eight【暴力枚举】

    暴力枚举即可.枚举1位这种情况,枚举2位这种情况,枚举3位这种情况. 3位满足足以,其他的4位,5位...都包含1000必定满足. #include<bits/stdc++.h> usin ...

  9. YBTOJ:灯光控制(贪心)(公倍数)(暴力枚举)

    文章目录 题目描述 解析 代码 题目描述 解析 没有想出来 首先可以确定开关要么开一次,要么不动,其他都和这俩是等价的 一开始最先想到的就是贪心的方法,每个开关遍历,如果按下会使答案变好就按下. 但是 ...

最新文章

  1. linux mpp集群环境,Linux环境下,DM8-MPP两节点集群搭建
  2. ASP.NET MVC5+EF6+EasyUI 后台管理系统(42)-工作流设计-表建立
  3. android查看控件的xml属性,006 Android XML 控件属性设置技巧汇总
  4. django构建网页_通过解决问题的方式学习django,律师如何构建副业
  5. mysql 字符串解析_MySQL 动态字符串处理详解
  6. gluPickMatrix和glReadPixels
  7. public static void main(String[] args)的理解
  8. C#统计字符出现的个数【C#】
  9. 利用营销工具,这家企业从按经验办事的老中医,变为数据化中西医
  10. 内核中的UDP socket流程(7)——udp_sendmsg
  11. 【图像融合】基于matalb小波变换(加权平均法+局域能量+区域方差匹配)图像融合【含Matlab源码 1819期】
  12. php读取excel文件_在PHP中读取Excel文件
  13. 七周成为数据分析师 第三周:Excel篇
  14. python-docx文档
  15. RAW数据格式的图片转换--常用于相机开发和图片旋转
  16. HTB Doctor
  17. 使用先根序列作为插入顺序重建二叉搜索树
  18. 将父类实体类转变子类实体类
  19. 惊喜盲盒中奖iPhone 13已收到货
  20. 你知道哪些或者你们线上使用什么GC策略? 它有什么优势,适用于什么场景?

热门文章

  1. 两个傻子的爱情,看后非常感动:QQ情感日志
  2. 【小嘟陪你刷题04】Java实现水花仙数、九九乘法表、金字塔
  3. Java小白自学8:循环结构练习题(一)
  4. Diva无法运行LVS问题(virtuoso,layout)
  5. 记录一次迁移 wss WebSocket 的事故
  6. 云计算基础知识:何为混合云?
  7. html5页面加载执行动作,页面加载完成后执行JS的5种方式
  8. 教你如何电脑被盗还能找回
  9. 云计算在商业智能运用中,主要存在哪些难点?
  10. IPv4地址的结构体与网络字节序