Atcoder Panasonic Programming Contest 2020 部分题解
Posted yz-beacon-cwk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Atcoder Panasonic Programming Contest 2020 部分题解相关的知识,希望对你有一定的参考价值。
上课上到一半被拉出来打这场。结果被教育了。
做题顺序: A(AC)->B(WA)->E(未交)->C(AC)->E(WA)->D(AC)->B(AC)->E(WA)
A:上来直接把下标写成(n)和(n+1),结果 (WA) 两次,直接心态爆炸
代码就不放了。
B
题意:(n imes m) 的棋盘上,一个棋子被放在 ((1,1)) 位置,每次它能移动到所有 (x + y) 和 (x - y) 相等的格子上,问一共能访问多少个格子
看样例,答案就是 (leftlceildfrac{n imes m}{2} ight ceil) 哈哈哈哈
结果 (WA)
因为 (n = 1) 或 (m = 1) 时,它不能移动到其他任何一个格子上,所以答案是 (1)
(76) min 过了这题
int main()
{
cin>>a>>b;
if(a > b) swap(a,b);
if(a == 1) cout<<1<<endl;
else cout<<(ll)((ll)a*b+1)/2;
return 0;
}
C:
判断 (sqrt a + sqrt b) 是否小于 (sqrt c)。
刚开始想判掉相等到情况再直接比较,结果又 (WA)
正确解法:两边平方,移项,再平方,得到:
[4ac < (c - a - b)^2]
还可以注意到:(c < a + b) 时一定非法,要判掉
ll a,b,c;
int main()
{
cin>>a>>b>>c;
if(c - a - b >= 0 && 4 * a * b < (c - a - b) * (c - a - b)) puts("Yes");
else puts("No");
return 0;
}
D:等会补
以上是关于Atcoder Panasonic Programming Contest 2020 部分题解的主要内容,如果未能解决你的问题,请参考以下文章
AtCoder Beginner Contest 203(Sponsored by Panasonic)(补题)
AtCoder Beginner Contest 203(Sponsored by Panasonic)D
AtCoder Beginner Contest 206(Sponsored by Panasonic)(补题)
AtCoder Beginner Contest 206(Sponsored by Panasonic) F - Interval Game 2(nim博弈)