Problem G

Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 681   Accepted Submission(s) : 192

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

Problem Description

给定方程 x ^ 2 + bx + c = 0,求解方程由哪两个一次多项式(x + p) , (x + q)(p , q均为整数且p <= q)相乘得到

Input

输入包含多组测试样例(10组左右),处理到文件结束,每组数据输入两个整数(b,c) (-100 <= b,c <= 100)

Output

每组测试数据中
如果存在输出两个整数p , q , 若不存在整数p,q,输出impossible;

Sample Input

3 2
1 2

Sample Output

1 2
impossible

Author

moonlike
 
首先当然要判断是否有解啦~(b*b-4*ac)是否小于0
然后用求根公式算两次,一次用int 一次用double 再算出误差,误差范围内就符合条件
#include<stdio.h>
//#include<bits/stdc++.h>
#include<string.h>
#include<iostream>
#include<math.h>
#include<sstream>
#include<set>
#include<queue>
#include<map>
#include<vector>
#include<algorithm>
#include<limits.h>
#define inf 0x3fffffff
#define INF 0x3f3f3f3f
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define ULL unsigned long long
using namespace std;
int main()
{
int b,c;
while(~scanf("%d%d",&b,&c))
{
int sum_1;
double sum_2;
//-b+-sqrt(b*b-4*a*c)/2
if((b*b*1.0-4.0*c)<0)
{
printf("impossible\n");
continue;
}
sum_1=sqrt(b*b-4*c);
sum_2=(double)sqrt(b*b-4*c);
int ans_1,ans_2;
double ans_3,ans_4;
ans_1=(-1*b+sum_1)/2;
ans_2=(-1*b-sum_1)/2;
ans_3=(double)(-1.0*b+sum_2)/2;
ans_4=(double)(-1.0*b-sum_2)/2;
if(abs(ans_1-ans_3)<=1e-6&&abs(ans_2-ans_4)<=1e-6)
{
int x,y;
x=-min(ans_1,ans_2);
y=-max(ans_1,ans_2);
printf("%d %d\n",min(x,y),max(x,y));
}
else
{
printf("impossible\n");
}
}
return 0;
}

  

华东交通大学2015年ACM“双基”程序设计竞赛1007的更多相关文章

  1. 华东交通大学2015年ACM“双基”程序设计竞赛1002

    Problem B Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  2. 华东交通大学2015年ACM“双基”程序设计竞赛1003

    Problem C Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  3. 华东交通大学2015年ACM“双基”程序设计竞赛1005

    Problem E Time Limit : 3000/2000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  4. 华东交通大学2015年ACM“双基”程序设计竞赛1001

    Problem A Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  5. 华东交通大学2015年ACM“双基”程序设计竞赛1004

    Problem D Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  6. 华东交通大学2016年ACM“双基”程序设计竞赛 1007

    Problem Description ACM小学妹在今天的暑假训练结束后,想看球赛放松一下.当他打开电脑时查询到联盟今天直播N场球赛,每场球赛的起止时间(S1,E1),(S2,E2),...,(SN ...

  7. 华东交通大学2018年ACM“双基”程序设计竞赛 C. 公式题 (2) (矩阵快速幂)

    题目链接:公式题 (2) 比赛链接:华东交通大学2018年ACM"双基"程序设计竞赛 题目描述 令f(n)=2f(n-1)+3f(n-2)+n,f(1)=1,f(2)=2 令g(n ...

  8. 华东交通大学2018年ACM“双基”程序设计竞赛部分题解

    链接:https://ac.nowcoder.com/acm/contest/221/C来源:牛客网 C-公式题(2) 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...

  9. 华东交通大学2016年ACM“双基”程序设计竞赛 1001

    Problem Description 输入一个非负的int型整数,是奇数的话输出"ECJTU",是偶数则输出"ACM". Input 多组数据,每组数据输入一 ...

随机推荐

  1. viewpagerindicator+UnderlinePageIndicator+ viewpage切换

    布局文件activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi ...

  2. solr :term 查询, phrase查询, boolean 查询

    搜索总体有:term 查询, phrase查询, boolean 查询 1. SOLR搜索覆盖度和准确度保证的三个搜索方式: 保证准确率: AND: Search for two different ...

  3. 说说excel

    今天遇到一个实际问题. 我有一组数据: 0.0.0.1 activate.adobe.com 0.0.0.1 practivate.adobe.com 0.0.0.1 ereg.adobe.com 0 ...

  4. Luogu 3625 [APIO2009]采油区域

    想了很久的dp,看了一眼题解之后感觉自己被安排了. 发现从一个矩形中选择三个不相交的正方形一共只有六种取法. 那么我们可以处理出四个值: $f_{i, j}$分别表示以$(i, j)$为右下角,左下角 ...

  5. CodeForces - 710C Magic Odd Square(奇数和幻方构造)

    Magic Odd Square Find an n × n matrix with different numbers from 1 to n2, so the sum in each row, c ...

  6. C/C++单向链表

    由于时间仓促,作者并没有进行任何的检查,总之徒手165行,调试无BUG,基本功能的实现并无大问题,可能有些细节考虑不周(这也是C/C++的诟病,小车不倒只管前推),还忘见谅. 代码是在C++环境编写, ...

  7. 禁用GridView控件前5行记录

    禁用GridView控件前5行记录. 应该在GridView控件写OnRowDataBound事件: 如果你只想禁用删除铵钮的话: 网页运行效果: 如果你想把整行禁用的话,可以这样写: 运行效果: 禁 ...

  8. 基于pythpn的深度学习 - 记录

    [基于pythpn的深度学习] 环境:    windows/linux-ubuntu    Tensorflow (基于anaconda)        *安装 (python3.5以上不支持)   ...

  9. [CentOS7] timedatectl设置时区

    查看当前时区日期等配置 显示可选时区 选择时区

  10. IMP-00003: 遇到 ORACLE 错误 959 ORA-00959: 表空间 '' 不存在

    描述 在使用imp命令将dmp文件导入oracle中时,遇到如下错误: IMP: 遇到 ORACLE 错误 ORA: 表空间 'TBS_CDUSER' 不存在 IMP命令如下: IMP cduser/ ...