题解:P15002 [UOI 2019 II Stage] 重大发现
不难发现,这块石板转了四次之后就转回来了,如下图。
因此我们只需要计算四种情况下的重要性,再找出重要性最大的一种然后输出旋转次数就行了。
代码见下。
#include<bits/stdc++.h>
#define int long long//注意要开long long,不然会炸。
using namespace std;
signed main(){
int a,b,c,d;
cin>>a>>b>>c>>d;
int z0=a*(b+c-d);
int z1=c*(a+d-b);
int z2=d*(c+b-a);
int z3=b*(d+a-c);
if(z0>=z1&&z0>=z2&&z0>=z3){//这里要用大于等于,为了使圈数不同而重要性相同时输出最小圈数。
cout<<0;
return 0;
}
if(z1>=z2&&z1>=z3){
cout<<1;
return 0;
}
if(z2>=z3){
cout<<2;
return 0;
}
cout<<3;
return 0;
}