C++全WA,求帮助

P5740 【深基7.例9】最厉害的学生

@[__er](/user/713955) 他这样写怎么不可以。
by _Virgo_ @ 2022-12-05 19:27:11


@[xhz0311](/user/747883) ``` #include<bits/stdc++.h>//万能头文件写了就不用写其他的头文件了 using namespace std; struct stu{ string name; int yw; int sx; int yy; int sum; }; int main() { int k; cin>>k; //c++ 有好用的cin 为啥要用scanf。 struct stu m,n; cin>>m.name>>m.yw>>m.sx>>m.yy; m.sum=m.yw+m.sx+m.yy; for (int i=1; i<k; i++) { cin>>n.name>>n.yw>>n.sx>>n.yy; n.sum=n.yw+n.sx+n.yy; if(n.sum>m.sum) m=n;//判断放循环里 } cout<<m.name<<' '<<m.yw<<' '<<m.sx<<' '<<m.yy; return 0; } ```
by _Virgo_ @ 2022-12-05 19:29:31


@[_Virgo_](/user/571589) 反正我看就是一个混乱的求最大值/kk
by __er @ 2022-12-05 19:30:07


@[__er](/user/713955) 但凡他知道 sort,大概率也知道 string 了。
by _Virgo_ @ 2022-12-05 19:30:35


~~深吸一口气~~ # 终于过了!!! ```cpp #include <iostream> #include <string> using namespace std; struct stu{ string name; int yw; int sx; int yy; int sum; }; int main() { int k; cin>>k; struct stu m,a[k]; cin>>m.name>>m.yw>>m.sx>>m.yy; m.sum=m.yw+m.sx+m.yy; for (int i=1; i<k; i++) { cin>>a[i].name>>a[i].yw>>a[i].sx>>a[i].yy; a[i].sum=a[i].yw+a[i].sx+a[i].yy; if (a[i].sum > m.sum) { m=a[i]; } } cout<<m.name<<m.yw<<m.sx<<m.yy; return 0; } ``` ~~题解好像不能发在讨论区啊~~ 感谢大家!
by xhz0311 @ 2022-12-05 19:30:49


@[_Virgo_](/user/571589) 你看你这么写可读性不就高多了,原来那个是真的离谱 ~~题解没用吗~~
by __er @ 2022-12-05 19:31:13


@[_Virgo_](/user/571589) 好像确实(
by __er @ 2022-12-05 19:31:45


@[_Virgo_](/user/571589) 学校信奥小组老师唯一没讲的基础语法就是string,唯一不让用的就是sort。。。
by xhz0311 @ 2022-12-05 19:31:56


@[__er](/user/713955) 但是他空间复杂度是$\Theta(1)$ ,时间复杂度是 $\Theta(n)$ ,比排序的$\Theta(n\log n)$ 要快。
by _Virgo_ @ 2022-12-05 19:33:10


再次感谢大家!
by xhz0311 @ 2022-12-05 19:33:13


上一页 | 下一页