1 条题解
-
0
自动搬运
来自洛谷,原作者为

chen_zhe
Aya 敲可爱的~搬运于
2025-08-24 21:18:02,当前版本为作者最后更新于2025-03-10 16:46:57,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
欢迎报名洛谷网校,期待和大家一起进步!
本题考察字符串。
如果读入的不等式中有大于的也有小于的会比较复杂,因此我们应当先把不等号的方向统一。我们这里不妨都统一成大于号。
接着考虑三个砝码重量的相对大小。我们不妨考虑以下三个情况:
A>B A>C B>C和
A>B B>C C>A和
A>B A>C A>B第一种情况是可以推断出相对重量大小:C<B<A。第二种情况会出现矛盾(A 大于 B,B 大于 C,理论上 A 要大于 C,但是测出了 C 大于 A,因此是矛盾的)。第三种情况无法推断出 B 和 C 的相对重量大小。
更进一步地说,能够推断出相对大小的形式只有以下三种(假设最重的是 A):
A>B A>C B>C或
A>B B>C A>C或
A>B A>C B>C分成三种情况,分别判断即可。不属于三种情况的,判断为矛盾。
参考代码(只展示关键部分):
cin >> a >> b >> c; if (a[1] == '<') swap(a[0], a[2]); if (b[1] == '<') swap(b[0], b[2]); if (c[1] == '<') swap(c[0], c[2]); if (a[0] == b[0]) cout << c[2] << c[0] << a[0] << endl; else if (b[0] == c[0]) cout << a[2] << a[0] << b[0] << endl; else if (a[0] == c[0]) cout << b[2] << b[0] << c[0] << endl; else cout << "Impossible" << endl;
- 1
信息
- ID
- 11672
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 1
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者