codeforces round #583 题解

A. Optimal Currency Exchange

因为并没有对美元和欧元的数目作要求,实际上可以看作全用来买1刀和5欧的纸币
尝试买不同数目的欧元,分别算出最终剩下的卢布数目,取最小值

B. Badges

分类讨论找结论,具体看代码

C. Bad Sequence

因为限定了条件:只能换一个,所以问题变得很简单。
首先判断括号匹配的方式:遇到'(‘将括号数目+1,遇到’)’就-1,如果无法再减,就是不匹配的
对于不匹配的情况,如果只有一次发生了“无法再减”的情况,且最后剩余一个括号,就可以通过改变位置的方式使其变为匹配序列。
其它情况都不可以。

D. Treasure Island

因为可以直接堵住(1,2)和(2,1)的位置,所以答案不会超过2。
如果从(1,1)到(n,m)没有路径,则答案为0。
首先处理出(1,1)以及(n,m)的每个可达点,再将两个集合取交集。将交集中的点按照到达(1,1)的距离分组,如果有一组的元素个数为1,代表从(1,1)到(n,m)一定会经过这个点,那么答案就是1.否则答案为2。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注