#2 #4 TLE 求助
查看原帖
#2 #4 TLE 求助
701302
BLuemoon_楼主2023/5/20 15:45
#include<bits/stdc++.h>
using namespace std;
#define int double
const int eps=1e-5;
int a,b,c,d;
int f(int x)
{
  return a*x*x*x+b*x*x+c*x+d;
}
signed main()
{
  cin>>a>>b>>c>>d;
  for(int l=-100,r=-99,cnt=1;r<=100;l++,r++)
  {
    int x=f(l),y=f(r);
    if(x*y==0)
    {
      if(x==0)
        cout<<fixed<<setprecision(2)<<l<<" ";
    }
    else if(x*y<0)
    {
      int L=l,R=r;
      while(r-l>=eps)
      {
        int mid=(L+R)/2;
        if(f(mid)==0)
        {
          cout<<fixed<<setprecision(2)<<mid<<" ";
          break;
        }
        else if(f(mid)<0)
          L=mid+1;
        else
          R=mid-1;
      }
    }
  }
  return 0;
}
2023/5/20 15:45
加载中...