Problem Description

people in USSS love math very much, and there is a famous math problem .

give you two integers n,a,you are required to find 2 integers b,c such that an+bn=cnan+bn=cna^n+b^n=c^n

Input

one line contains one integer T;(1≤T≤1000000)

next T lines contains two integers n,a;(0≤n≤1000,000,000,3≤a≤40000)

Output

print two integers b,c if b,c exits;(1≤b,c≤1000,000,000);

else print two integers -1 -1 instead.

Sample Input

1
2 3

Sample Output

4 5

思路

首先是费马大定理:

对于an+bn=cnan+bn=cna^n+b^n=c^n这个式子,当n>2n>2n>2时没有正整数解

所以对于这个问题我们可以判定,当n=1n=1n=1或者n>2n>2n>2时候没有解,直接输出−1−1-1.

  • 当n=1n=1n=1时: 我们可以随意构造

  • 当n=2n=2n=2时:

    1. 当aaa为奇数时,方程的解为b=a2−12,c=a2+12" role="presentation">b=a2−12,c=a2+12b=a2−12,c=a2+12b=\frac{a^2-1}{2},c=\frac{a^2+1}{2}
    2. 当aaa为偶数时,方程的解为b=a2−44,c=a2+44" role="presentation">b=a2−44,c=a2+44b=a2−44,c=a2+44b=\frac{a^2-4}{4},c=\frac{a^2+4}{4}

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
void solve()
{ll n, a;scanf("%lld%lld", &n, &a);if (n == 0 || n > 2)puts("-1 -1");else if (n == 1)printf("%lld %lld\n", 3, a + 3);else if (n == 2){if (a & 1)printf("%lld %lld\n", (a * a - 1) / 2, (a * a + 1) / 2);elseprintf("%lld %lld\n", (a * a - 4) / 4, (a * a + 4) / 4);}
}
int main()
{// freopen("in.txt", "r", stdin);ll t;scanf("%lld", &t);while (t--)solve();return 0;
}

HDU6441 Find Integer(2018CCPC网络赛,费马大定理)相关推荐

  1. hdu6441 Find Integer 求勾股数 费马大定理

    题目传送门 题目大意: 给出a和n,求满足的b和c. 思路: 数论题目,没什么好说的. 根据费马大定理,当n>2时不存在正整数解. 当n=0或者1时特判一下就可以了,也就是此时变成了一个求勾股数 ...

  2. 2018CCPC网络赛 HDU 6444: G. Neko's loop(线段树)

    Neko's loop Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Tota ...

  3. 2018ccpc网络赛1010 J - YJJ's Salesman

    又是一道没a的题... YJJ is a salesman who has traveled through western country. YJJ is always on journey. Ei ...

  4. 2018CCPC网络赛

    https://blog.csdn.net/qq_37891604/article/details/82078998 https://blog.csdn.net/qq_37891604/article ...

  5. 【2018ccpc网络赛1008】【hdu6445】Search for Answer 题解

    题目大意 ~~~~~~      有一幅竞赛图(n<=200),其中一些边未定向( s[i][j]=1s[i][j]=1s[i][j]=1 且 s[j][i]=0s[j][i]=0s[j][i] ...

  6. HDU 6445 2018CCPC网络赛1008 Search for Answer(费用流 + 构图)

    大致题意:给你一个竞赛图,告诉你一个记数方法,也即所有边同向的四元组加一,所有相邻两边方向相反的四元组减一.现在让你最大化这个结果. 说实话,不看题解应该很难想到是一个费用流--题解给的也真是简单,个 ...

  7. 2018CCPC网络赛 部分题解

    1001:传送门 dalao的题解:https://www.cnblogs.com/Lin88/p/9537354.html 1002:传送门 dalao的题解:https://www.zybuluo ...

  8. 乌鲁木齐网络赛J题(最小费用最大流模板)

    ACM ICPC 乌鲁木齐网络赛 J. Our Journey of Dalian Ends 2017-09-09 17:24 243人阅读 评论(0) 收藏 举报  分类: 网络流(33)  版权声 ...

  9. ACM网络赛金华赛区的一道关于树的题:Family Name List

    三场网络赛终于告一段落了!唉,实力太弱了!跟北大.清华这些家伙差距太远了,比"我在你身边你却不知道我爱你"的距离还要远! 这道题没有来得及提交,自己下来写完的,把样例过了!留在博客 ...

  10. 2017 ACM-ICPC 亚洲区(西安赛区)网络赛

    这个西安赛区大概是我们学校打得最好的一次了,因为数学题多,而且嘛,那个I竟然就是暴力,恭喜我们学校分了个机会 Coin 问答 只看题面 23.46% 1000ms 32768K Bob has a n ...

最新文章

  1. 基于短语的统计机器翻(PBMT) 开源工具 :Moses
  2. python中计算1到_如何在Python中计算-1 /(-343)^(1/3)为1/7?
  3. 批量条形码生成器_条码打印软件之Code32条形码
  4. tcp时间戳 引起的网站不能访问
  5. Java 8 Stream Api 中的 skip 和 limit 操作
  6. Python常见问题(4):Python库与扩展 Library and Extension FAQ
  7. php上传视频文件代码,php上传视频的代码
  8. Cloud for Customer Mashup debug in IFrame
  9. java开发人员_Java 8:开发人员怎么看?
  10. 【HDU - 3038】How Many Answers Are Wrong (带权并查集--权为区间和)
  11. 新建WindowsPhone项目时提示未将对象引用设置到对象的实例
  12. Consul在.Net Core中初体验
  13. 6748如何设置edma为事件触发方式_全面分析前端的网络请求方式
  14. 安防摄像头WEB端直播,实现按需播放,节省带宽和服务器压力
  15. MIT Mini Cheetah 的驱动与结构原理解读以及对尺寸效应
  16. OSChina 周日乱弹 ——欣欣像蓉!还我程序员公道!
  17. Python电影票房数据可视化分析基础实践
  18. OC 建议实现类似淘宝的物流步骤视图
  19. 在积分系统中可以设置哪些获取积分方式
  20. 计算机系统大作业 程序人生-Hello’s P2P

热门文章

  1. (mac版本)IntelliJ IDEA 常用快捷键
  2. LeetCode刷题(158)~从尾到头打印链表【递归|辅助栈】
  3. 【C++】模拟String,柔性数组,运算符重载,写实拷贝
  4. TM4C123-JTAG
  5. 如何解决上传到github上的图片显示不出来的问题
  6. Chrome translate plugins install 谷歌翻译插件安装
  7. CTFshow web入门——php特性
  8. android twitter第三方登录,android中接入twitter进行第三方登录
  9. IT界最伟大的十位人物
  10. 奇幻RPG(人物构造 与 Abstract Factory模式)