CodeforcesRound541Div2解题记录
A. Sea Battle给出四个整数w1,h1,w2,h2 计算在方格上围出w1h1与w2h2的方形所需要的方块的数量
数学显然ans = (max(w1,w2)+h1+h2+2) * 2,凹入的部分可以换到方形凸出的地方,使得两个方形被围住
12345678int w1,h1,w2,h2,ans;int main(){ cin>>w1>>h1>>w2>>h2; ans = (max(w1,w2)+h1+h2+2) * 2; cout<<ans<<endl; return 0;}
B. Draw!给出n个数对,对应某个时刻的比分,输出最大的平局的次数6
对于数对(a,b)和数对(c,d),要平局次数最大,则中间可能出现(x,x)是最好的,而x小于c,d中最小的,大于a,b中最大的,所以取平均值,如果a,b不相等,则可能出现x = min(a,b)的情况,有1的贡献,所以每次输入的时候,ans = ans + max(0,min(c,d) - max(a,b) + (a!=b))
12 ...