RT,直接暴力的时间复杂度为O(n⋅10s+1),n为根的范围,s为精度(即保留几位小数)。因此能够通过本题,那么本题的难度是否需要下调为橙?
以下为我的暴力做法:
#include<iostream>
#include<cstdio>
#include<cmath>
#define fo(i,x,y) for(register int i=x;i<=y;++i)
#define go(i,x,y) for(register int i=x;i>=y;--i)
using namespace std;
const double eps=1e-7;
int main(){
double a,b,c,d;
cin>>a>>b>>c>>d;
for(double i=-100.000;i<=100.000;i+=0.001){
double k=i,ans=d;
ans+=k*c;k*=i;
ans+=k*b;k*=i;
ans+=k*a;
if(abs(ans)<=eps) printf("%.2f ",i);
}
return 0;
}