Educational Codeforces Round 76 部分题解
A. Two Rival Students题意:
一排有 \(n\) 个学生,两个竞争对手分别在位置 \(a\) 和 \(b\)。每次操作可以交换相邻两个学生,最多进行 \(x\) 次操作。求操作后两个竞争对手之间可能的最大距离(即 \(|p-s|\))。
思路:
初始距离为 \(d = |a-b|\)。每次交换可以让一个学生向远离对方的方向移动一步,从而增加 \(1\) 距离。最多可以增加 \(x\) 距离,但最大距离不超过 \(n-1\)(即一个在左端,一个在右端)。因此答案为 \(\min(d + x, n-1)\)。
代码
点击查看代码void solve() { int n, x, a, b; cin >> n >> x >> a >> b; int d = abs(a - b); int ans = min(d + x, n - 1); cout3\) 不可达。\(x = 3\):最大只能得到 \(3\),故 \(y > 3\) 不可达。
\(x \ge 4\):总可通过操作1和操作2增长到任意大的数,再通过操作2减到 \(y\),故可达。
</ul></ul>代码
点击查看代码void solve() { int x, y; cin >> x >> y; if (x >= y) { cout 很好很强大我过来先占个楼 待编辑 感谢发布原创作品,程序园因你更精彩 鼓励转贴优秀软件安全工具和文档! 用心讨论,共获提升! 谢谢分享,辛苦了 感谢发布原创作品,程序园因你更精彩 不错,里面软件多更新就更好了 感谢分享,学习下。 东西不错很实用谢谢分享 yyds。多谢分享 过来提前占个楼 感谢分享,下载保存了,貌似很强大 前排留名,哈哈哈 这个好,看起来很实用 谢谢分享,试用一下 感谢分享,下载保存了,貌似很强大 分享、互助 让互联网精神温暖你我 鼓励转贴优秀软件安全工具和文档! 新版吗?好像是停更了吧。
页:
[1]
2