ural 2032  Conspiracy Theory and Rebranding

链接:http://acm.timus.ru/problem.aspx?space=1&num=2032

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

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

代码:

  1. #include <iostream>
  2. #include <cstdio>
  3. #include <algorithm>
  4. #include <cmath>
  5. #include <cstring>
  6.  
  7. using namespace std;
  8. typedef long long ll;
  9. const int N = 1e5+;
  10. ll biao[N];
  11. ll a, b, c;
  12. int n;
  13.  
  14. ll rr, RR;
  15.  
  16. struct P{
  17. ll x, y;
  18. P(ll _x=, ll _y=) : x(_x), y(_y) {}
  19. void out() {printf("%I64d %I64d\n", x, y); }
  20. }p[N], v[N];
  21. int ta, tb;
  22.  
  23. inline ll sqr(ll x) {return x*x;}
  24.  
  25. inline void init(ll av, ll r, int &t, P q[]) {
  26. ll aa = av*av;
  27. for(ll i = , j = av; i <= av; ++i) {
  28. while(sqr(i) + sqr(j) > aa) --j;
  29. if(sqr(i) + sqr(j) == aa) q[t++] = P(i, j);
  30. }
  31. }
  32.  
  33. inline ll dis(P d1, P d2) {
  34. return sqr(d1.x - d2.x) + sqr(d1.y - d2.y);
  35. }
  36.  
  37. void solve() {
  38. ta = tb = ;
  39. ll cc = c*c;
  40. init(a, rr, ta, p);
  41. init(b, RR, tb, v);
  42. bool f = , ff;
  43. int i, j;
  44. P q;
  45. for(i = ; i < ta; ++i) {
  46. for(j = ; j < tb; ++j) {
  47. ll d = dis(p[i], v[j]);
  48. if(d == cc) {
  49. f = , ff = ;
  50. break;
  51. } else{
  52. q = P(v[j].x, -v[j].y);
  53. d = dis(p[i], q);
  54. if(d == cc) {
  55. f = ff = ;
  56. break;
  57. }
  58. }
  59. }
  60. if(f) break;
  61. }
  62. if(!f) { puts("-1"); return ; }
  63. puts("0 0"); p[i].out();
  64. if(!ff) v[j].out();
  65. else q.out();
  66. return ;
  67. }
  68.  
  69. int main()
  70. {
  71. #ifdef PIT
  72. freopen("i.in", "r", stdin);
  73. #endif // PIT
  74.  
  75. while(~scanf("%I64d %I64d %I64d", &a, &b, &c)) {
  76. rr = a*a, RR = b*b;
  77. solve();
  78. }
  79. return ;
  80. }

ural 2032 Conspiracy Theory and Rebranding (数学水题)的更多相关文章

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

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

  2. 天哪!毫无思绪!令人感到恐惧的数学(水题?)(TOWQs)

    这道题的题目描述灰常简单,第一眼看以为是一道十分水的题目: 但是!!!(我仔细一看也没有发现这背后隐藏着可怕的真相~) 下面给出题目描述: 给出一个整数x,你可以对x进行两种操作.1.将x变成4x+3 ...

  3. hdu 2710 Max Factor 数学(水题)

    本来是不打算贴这道水题的,自己却WA了三次.. 要考虑1的情况,1的质因子为1 思路:先打表 ,然后根据最大质因子更新结果 代码: #include<iostream> #include& ...

  4. zzulioj--1841--so easy!麻麻再也不用担心我的数学了!(数学水题)

    1841: so easy!麻麻再也不用担心我的数学了! Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 27  Solved: 15 SubmitSt ...

  5. HDU 1408 盐水的故事 数学水题

    http://acm.hdu.edu.cn/showproblem.php?pid=1408 题目: 挂盐水的时候,如果滴起来有规律,先是滴一滴,停一下:然后滴二滴,停一下:再滴三滴,停一下...,现 ...

  6. ZOJ 1494 Climbing Worm 数学水题

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=494 题目大意: 一只蜗牛要从爬上n英寸高的地方,他速度为u每分钟,他爬完u需要 ...

  7. 【数学水题】【TOJ4113】【 Determine X】

    题目大意: yuebai has a long sequence of integers A1,A2,-,AN. He also has such a function: F(x)=∑i=1N(⌊Ai ...

  8. HDU 1840 Equations (简单数学 + 水题)(Java版)

    Equations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1840 ——每天在线,欢迎留言谈论. 题目大意: 给你一个一元二次方程组,a(X^2 ...

  9. Gym 101194A / UVALive 7897 - Number Theory Problem - [找规律水题][2016 EC-Final Problem A]

    题目链接: http://codeforces.com/gym/101194/attachments https://icpcarchive.ecs.baylor.edu/index.php?opti ...

随机推荐

  1. jenkins部署时遇到“似乎无法联网”,导致无法安装默认插件的解决方案

    jenkins安装更新时,默认会检查网络连接,而默认的checkulr 是http://www.google.com/ ,国内是无法访问的,所以修改成任意可以访问的地址即可,比如http://www. ...

  2. wordpress登录密码框明文显示最后一个输入的字符

    wordpress登录密码框明文显示最后一个输入的字符 (function(a){a.fn.dPassword=function(c){var e={interval:200,duration:100 ...

  3. 树莓派3+rtl8812au开启monitor模式

    首先要有一块树莓派,要有一块rtl8812au的网卡. 这个网卡是支持monitor模式的,但是我原来装的驱动驱动在raspbian上开启monitor模式时提示,找不到设备. 然后换了一个驱动 ht ...

  4. Daily Scrum10 11.14

    昨天的任务已经完成,但是我们在完成任务的过程中确实遇到了困难.昨天我们发现无法连接sqlserver的时候,给罗杰老师发了邮件.老师也给我们提出了建议,给我们提供了一些参考.所以今天大家都在研究如何解 ...

  5. 线程局部存储TLS(thread local storage)

    同一全局变量或者静态变量每个线程访问的是同一变量,多个线程同时访存同一全局变量或者静态变量时会导致冲突,尤其是多个线程同时需要修改这一变量时,通过TLS机制,为每一个使用该全局变量的线程都提供一个变量 ...

  6. Oracle 的四种连接-左外连接、右外连接、内连接、全连接

      今天在看一个遗留系统的数据表的时候发现平时查找的视图是FULL OUT JOIN的,导致平时的数据记录要进行一些限制性处理,其实也可以设置视图各表为右外连接并在视图上设置各列的排序和筛选条件就可以 ...

  7. Beta Scrum Day 5 — 听说

    听说

  8. 【贪心算法】POJ-2376 区间问题

    一.题目 Description Farmer John is assigning some of his N (1 <= N <= 25,000) cows to do some cle ...

  9. Internet History, Technology and Security (Week 3)

    Week 3 History: The Web Makes it Easy to Use Welcome to week 3! This is our fourth and final week of ...

  10. autoit获取ie浏览器简单操作网页(GUI小工具)

    需要稍稍熟悉一下autoti提供的语言, 我简单做了一个带GUI的小工具,实现根据IE标题点击页面内的LinkText 注意:使用时IE窗口是显示状态才可以获取到(可以在脚本中加入搜索IE句柄,将ie ...