HDU 1840 Equations

题目地址:点击打开链接

思路:不能直接用二次函数根的判别公式,因为a,b,c的不同取值会导致函数变成常函数,一次函数等

a=0 b=0 c=0 INF 对任何数都成立
a=0 b=0 c!=0 0 常函数
a=0 b!=0 c=0 1 一次函数
a=0 b!=0 c!=0 1 一次函数
a!=0     判别公式 二次函数
AC代码:

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    int t,a,b,c;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d%d%d",&a,&b,&c);
        if(a == 0 && b == 0 && c == 0)
            printf("INF\n");
        else if(a == 0 && b == 0 && c != 0)
            printf("0\n");
        else if(a == 0 && b != 0)
            printf("1\n");
        else if(b*b - 4*a*c > 0)
            printf("2\n");
        else if(b*b - 4*a*c == 0)
            printf("1\n");
        else if(b*b - 4*a*c < 0)
            printf("0\n");
    }
    return 0;
}


你可能感兴趣的:(HDU 1840 Equations)