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

wpy233
你弱归你弱,py比你弱。 stO 所有关注我的巨佬 Orz搬运于
2025-08-24 21:59:56,当前版本为作者最后更新于2019-07-05 18:43:16,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
论如何正确地花式AC一道红题这道题目,完全可以像楼上的大佬一样,一个
sort直接A掉。但是本人用了一个更加
装逼通俗易懂的方法,以至于萌新们都能看懂QAQ偶代码唯一的亮点就是,本人是如何对3个数进行排序
一开始本人是这么排的:
int p[3]; p[0]=min(a,min(b,c)); p[1]=min(a,max(b,c)); p[2]=max(a,max(b,c));惨烈。。。
WA掉4个点测过样例①后发现,问题出在中间一个数上。
因为如果这样排,对于a是最大的数的情况就会WA。。。
所以我们要再来想想,应该怎么排呢?
紧接着,本人清奇的思路就出来了:
max(a,b) max(b,c) max(a,c)中,一定有两个是最大的那一个数。 而剩下的那一个,就是中间的那个数。好了,顺着这个思路走,就AC了。。。
代码拿走不谢#include <bits/stdc++.h> using namespace std; int p[3]; int main() { int a,b,c; cin>>a>>b>>c; char i,j,k; cin>>i>>j>>k;//输入 p[0]=min(a,min(b,c)); p[2]=max(a,max(b,c));//处理最大和最小的数 int x=max(a,b),y=max(a,c),z=max(b,c); if(x==y) p[1]=z; if(x==z) p[1]=y; if(y==z) p[1]=x;//核心部分,处理中间的数 cout<<p[i-65]<<" "<<p[j-65]<<" "<<p[k-65]<<endl;//输出 return 0; }
- 1
信息
- ID
- 3386
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 1
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者