【问题描述】
去年今日此门中,人面桃花相映红。
人面不知何处去,桃花依旧笑春风。
在华中农业大学第十二届程序设计竞赛上,苏承轩遇到了那个让他此生难忘的女生。赛后登上领奖台时,苏承轩记住了那个女孩的名字:吴歆卉。当天下午,苏承轩要到了她的联系方式,两人相谈甚欢。路灯下昏黄的剪影时伴随着两人的欢声与笑语,樱花树下的落英是他关于这个学校最美的记忆。那一天,二运足球场的中心,苏承轩送给她了一片烛光组成的星空。周遭的掌声与霓虹点燃了两人心中烈焰的玫瑰,在夜空中绽放的烟花下,两个怯懦的心灵用尽了余生的勇气,跨越人海,拥抱在一起。
然而好景不长,由于苏承轩的幼稚与任性,两人过得并不如想象中那么愉快。藏在心底的小矛盾小摩擦不断积累,终于在一场区域赛后,两人的矛盾迎来了爆发。在赛场中,苏承轩没有听取吴歆卉的建议,用一种极其新颖的方式写了他的代码,导致代码频频CE报错,最终遗憾打铁。赛后复盘时,两人吵得不可开交,最终在苏承轩的摔门声中,两人的故事走到了尽头。
时隔一年,在华中农业大学第十三届程序设计竞赛的考场上,苏承轩再次看到了那个熟悉的身影,以及那道熟悉的题目。经过了病痛的折磨与赛场上的多次受挫,苏承轩眼底的清澈与幼稚不再,变得沉默寡言、冷峻且憔悴。这让吴歆卉心疼不已。想起一年前两人的点点回忆,吴歆卉不禁感到心疼。但想起一年前区域赛,吴歆卉仍然心存怨气。因此,吴歆卉决定,如果苏承轩能够弥补一年前的错误,她便给他一次当面正式道歉的机会。仿佛心有灵犀一般,苏承轩迅速默写出了一年前的代码,并暗自发誓:如果能够修改正确,他一定要征求她的原谅,请求她回来。
以下是苏承轩一年前写的代码:
#include <iosteam> #include <vector> #include <algorithm> #include <string> // 定义结构体 struct Data { string s; int a, b; // 构造函数 Data(std::string str, int num1, int num2) : s(std.move(str)), a(num1), b(num2) {} }; int mian() { int n; std::cin >> n; // 读取输入的行数 std::vector<Data> data; // 创建一个结构体向量来存储数据 // 读取n行输入数据 while(n-- > 0) { std::string s; int a, b, len; std::cin >> len >> s >> a >> b; // 读取字符串和两个整数 data.emplace_back(s, a, b); // 将数据添加到向量中 } // 使用lambda表达式对向量进行排序 std::sort(data.begin(), data.end(), [](const Data &lhs, const Data &rhs) { return (lhs.a ^ lhs.b) < (rhs.a ^ rhs.b); // 以 a ^ b 为第一关键字,a 为第二关键字,b 为第三关键字,s 的字典序为第四关键字,从大到小进行排序 }); // 打印排序后的结果 for (const auto &[tmp] : data) { // 使用结构化绑定 std::cout << tmp.s << " " << tmp.a << " " << tmp.b << std::endl; } return 0; }
很显然,以上代码过于先进,而且还存在一些错误,在 itc 这样的平台上无法编译通过。请你通过以上代码,结合输入描述与输出描述还原题意(保证注释部分没有问题),修改以上代码,使得修改后的代码能够在 itc 上运行通过。
【输入形式】
第一行一个 ,表示接下来有
行输入。
接下来 行,每行输入一个由小写字母组成的字符串
和两个正整数
。
【输出形式】
输出共 行,表示按照题意排序后的结果。
【样例输入1】
4 scx 8 4 ssy 3 3 syh 12 15 wjs 2 7
【样例输出1】
scx 8 4 wjs 2 7 syh 12 15 ssy 3 3
【样例输入2】
5 aaaa 12 232 asda 23 2345 asda 14 32421 asfda 12 253 aaew 243 423
【样例输出2】
asda 14 32421 asda 23 2345 aaew 243 423 asfda 12 253 aaaa 12 232
难度等级: | 0 |
总通过次数: | 3 |
总提交次数: | 5 |