Looksery Cup 2015 H. Degenerate Matrix

又学会了二分的新用法,

其实二分可以设置固定的二分次数作为跳出条件,当次数达到一定时,,一定可以的到解,可以解决因精度而T的情况。

向群神致敬。

题目:

代码:

#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#include<vector>#include<set>#include<map>using namespace std;typedef long long ll;const double eps = 1e-9;double t1[10],t2[10];struct pp{double a,b;}p[2];int main(){double a,b,c,d;double high = 2*1e9,low = 0;cin>>a>>b>>c>>d;int co = 0;while(co <= 80){co++;double mid = (high+low)/2;double a1=a+mid , a2 = a-mid;double b1=b+mid , b2 = b-mid;double c1=c+mid , c2 = c-mid;double d1=d+mid , d2 = d-mid;t1[1] = a1*d1;t1[2]=a1*d2;t1[3]=a2*d1;t1[4]=a2*d2;t2[1] = c1*b1;t2[2]=c1*b2;t2[3]=c2*b1;t2[4]=c2*b2;sort(t1+1,t1+5);sort(t2+1,t2+5);p[0].a = t1[1],p[0].b=t1[4];p[1].a = t2[1],p[1].b=t2[4];if(p[0].a > p[1].a){pp tmp = p[1];p[1] = p[0];p[0] = tmp;}int fl=0;if(p[0].b >= p[1].a) fl=1;if(fl==1) high = mid;else low = mid;}// cout<<"hehe\n";printf("%.10f\n",low);return 0;}

做对的事情比把事情做对重要。

Looksery Cup 2015 H. Degenerate Matrix

相关文章:

你感兴趣的文章:

标签云: