Contest2659 - 2021ACM俱乐部后备营个人训练赛第5场
A、小李数星星
思路:
找到X轴上最大的一个坐标跟最小的一个坐标,然后找到Y轴最大的一个坐标跟最小的一个坐标,分别计算X轴,Y轴最大坐标和最小坐标的差值,比较两个差值的大小,因为是正方形,所以用较长的计算面积。由于数据较大,开 long long
代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long n,a,b,ans;
long long x[100000],y[100000],i=-1,j=-1;
cin>>n;
n++;
while(--n)
{
cin>>a>>b;
y[++i]=a;
x[++j]=b;
}
sort(x,x+j+1);
sort(y,y+i+1);
long long a1=x[j]-x[0];
long long a2=y[i]-y[0];
if(a1>=a2)
ans=a1*a1;
else
ans=a2*a2;
cout<<ans;
return 0;
}
B、小李打台球
思路:
注意理解规则之间的潜在关系,尤其是红球,当规则二只有很多红球,由于彩球(不包括红球),所有,无论只有多少红球,都只有1分。模拟取球得分的过程,如果有红色球,那么红色的个数乘以有其他颜色球的最高分得出结果,再把除红色球外的其他颜色球按球的数量乘以分值累加就可以完成
代码:
#include <bits