题目链接:http://codeforces.com/contest/707/problem/C

题意:

直角三角形的三边都为整数,给出其中一边n,求另外两边m、k。

(1 ≤ n ≤ 109)  (1 ≤ m, k ≤ 1018)

分析:

假设直角三角形的斜边长为c,直角边为n,a。

则根据勾股定理有a2+n2=c2

变形得到:n2 = (c+a)(c-a)

即因式分解

当n为奇数时,c-a = 1,c+a = n2

当n为偶数时,c-a = 2,c+a = n2/2

联立可得到c、a的表达式

(分n为奇数和偶数讨论,得到n2因式分解时一定有1和2两个因数,从而构造出可行解)

当n=1和2时,无解要进行特判。

代码:

#include<cstdio>
#include<algorithm>
#include<map>
#include<cstring>
#include<string>
#include<iostream>
#include<set>
#include<vector>
#include<cmath>using namespace std;typedef long long ll;
const int mod = 1000000007;
const int maxn = 200010;int main()
{ll n,c,a;while(~scanf("%I64d",&n)){if(n<3){printf("-1\n");continue;}if(n&1){c = (n*n+1)/2;a = (n*n-1)/2;}else{c = n*n/4+1;a = n*n/4-1;}printf("%I64d %I64d\n",c,a);}return 0;
}

View Code

转载于:https://www.cnblogs.com/hadis-yuki/p/5792281.html

Codeforces Round #368 (Div. 2) C. Pythagorean Triples相关推荐

  1. 暴力 Codeforces Round #183 (Div. 2) A. Pythagorean Theorem II

    题目传送门 1 /* 2 暴力:O (n^2) 3 */ 4 #include <cstdio> 5 #include <algorithm> 6 #include <c ...

  2. Codeforces Round #368 (Div. 2)

    5/5 失踪多天发一下CF的题解,突然发现CF题解评论区一堆大神在晒解法,我等渣渣就顺手膜拜了一发,学了不少姿势,以后一打完CF就去评论区找姿势好了...... 最近有一个感悟,就是不要让别人告诉你一 ...

  3. Codeforces Round #368 (Div. 2) problem: (C) Pythagorean Triples

    本题就一个公式 n^2+((n^2-1)/2)^2=((n^2+1)/2)^2 0.当n==1或n==2时,不存在结果. 1.当n为奇数时此公式求得的数还是整数,成立 2.当n为偶数时分两种情况: ( ...

  4. Codeforces Round 867 (Div. 3) G2. Magic Triples (Hard Version)

    题意是多少对 互不相同的下标i,j,k满足对应数等比 很自然的想到了枚举最大数,然后找到因子就做完了 1e9以内因子最多1e3,这个不难发现,知道怎么通过质因数分解得到因子个数就知道怎么算了. 毫无优 ...

  5. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  6. Codeforces Round #563 (Div. 2)/CF1174

    Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...

  7. 构造 Codeforces Round #302 (Div. 2) B Sea and Islands

    题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...

  8. Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解(每日训练 Day.16 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解 比赛链接:h ...

  9. Codeforces Round #712 Div.2(A ~ F) 超高质量题解(每日训练 Day.15 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #712 Div.2(A ~ F) 题解 比赛链接:https:// ...

最新文章

  1. 基于双目事件相机的视觉里程计
  2. SVN 文件的解锁方法
  3. Java 三位数的变形
  4. 特征工程的宝典-《Feature Engineering for Machine Learning》翻译及代码实现
  5. P3313-[SDOI2014]旅行【树链剖分,线段树】
  6. C#求数组中元素的全排列
  7. Simulated Annealing(模拟退火算法)
  8. 软中断和硬中断的区别
  9. 分治 —— 莫队算法 —— 带修莫队
  10. [译]JavaScript async / await:好处、坑和正确用法
  11. ipython vim_python 之ubuntu开发环境vim 和 ipython
  12. pygtk在windows的安装
  13. 《设计模式》-简单工厂模式
  14. Remote branch Develop not found in upstream origin
  15. 5G+4G聚合路由器
  16. 脱硫塔发生堵塞,会产生什么影响?怎么应对?基于钙法、镁法、双碱法、氨法脱硫技术比较分析
  17. Lattice Diamond 加入未默认支持flash
  18. 对于路由地址并未切换,但是地址栏发生地址发生变化原因
  19. SLAM前端之ndt_omp使用
  20. STM32F103_study69_The punctual atoms(STM32 SPI communication principle and configuration)

热门文章

  1. gridview排序加箭头(二)
  2. 脚本的力量:MSDN中一段代码的IronPython与PowerShell实现
  3. python3 文件相关操作
  4. centos7安装samba
  5. linux的mysql本地yum安装_linux下使用yum安装mysql
  6. Golang——多种运算符及优先级
  7. Spring事务详解与使用
  8. 百度链接提交php获取状态码,新网站,在百度提交了首页链接,但是一直没有收录,也没有爬虫抓取,怎么回事呢?(悬赏1元) - 搜外SEO问答...
  9. python 案例串接_Python基础系例--字典串操作
  10. 进程 zabbix_Zabbix监控在windows的进程(非进程数)