problemscpp
A collection of my answers to algorithm problems in c++.
| 类型定义 | 函数
acwing::acwing3378 命名空间参考

struct  student
 

类型定义

typedef struct acwing::acwing3378::student student
 

函数

int main (istream &cin, ostream &cout)
 
 TEST (acwing3378, case1)
 
 TEST (acwing3378, case2)
 
 TEST (acwing3378, case3)
 
 TEST (acwing3378, case4)
 

类型定义说明

◆ student

函数说明

◆ main()

int acwing::acwing3378::main ( istream &  cin,
ostream &  cout 
)

在文件 acwing408.cpp24 行定义.

24 {
25 int n;
26 int rule;
27 cin >> n >> rule;
28 unordered_map<student *, unsigned> index;
29 vector<student *> students(n);
30 for(int i = 0; i < n; i++) {
31 students[i] = new student();
32 cin >> students[i]->name >> students[i]->score;
33 if(index.find(students[i]) == index.end())
34 index[students[i]] = i;
35 }
36 sort(students.begin(), students.end(), [rule, &index](student *a, student *b) {
37 if(a->score == b->score) {
38 return index[a] < index[b];
39 }
40 if(rule == 0) {
41 return a->score > b->score;
42 } else {
43 return a->score < b->score;
44 }
45 });
46 for(const auto &s: students) {
47 cout << s->name << ' ' << s->score << endl;
48 }
49 return 0;
50 }
struct acwing::acwing3378::student student

被这些函数引用 TEST().

◆ TEST() [1/4]

acwing::acwing3378::TEST ( acwing3378  ,
case1   
)

在文件 acwing408_test.cpp9 行定义.

9 {
10 istringstream in("4\n"
11 "0\n"
12 "jack 70\n"
13 "peter 96\n"
14 "Tom 70\n"
15 "smith 67");
16 auto out = ostringstream();
17 main(in, out);
18 const auto ans = out.str();
19 ASSERT_EQ("peter 96\n"
20 "jack 70\n"
21 "Tom 70\n"
22 "smith 67\n",
23 ans);
24 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().

◆ TEST() [2/4]

acwing::acwing3378::TEST ( acwing3378  ,
case2   
)

在文件 acwing408_test.cpp26 行定义.

26 {
27 istringstream in("4\n"
28 "1\n"
29 "jack 70\n"
30 "peter 96\n"
31 "Tom 70\n"
32 "smith 67");
33 auto out = ostringstream();
34 main(in, out);
35 const auto ans = out.str();
36 ASSERT_EQ("smith 67\n"
37 "jack 70\n"
38 "Tom 70\n"
39 "peter 96\n",
40 ans);
41 }

引用了 main().

◆ TEST() [3/4]

acwing::acwing3378::TEST ( acwing3378  ,
case3   
)

在文件 acwing408_test.cpp43 行定义.

43 {
44 istringstream in("100\n"
45 "0\n"
46 "ueuauw 39\n"
47 "rhntqphmbc 50\n"
48 "gwe 94\n"
49 "gxym 99\n"
50 "z 48\n"
51 "ccugwbcyu 22\n"
52 "qeo 25\n"
53 "veqb 25\n"
54 "fecl 23\n"
55 "jkakocou 6\n"
56 "zjf 17\n"
57 "wmjflfg 68\n"
58 "qijg 3\n"
59 "euiuxavbzx 75\n"
60 "cnnpbsdknk 8\n"
61 "xzm 50\n"
62 "zkkteb 34\n"
63 "dnmmp 40\n"
64 "pqbqshzbw 69\n"
65 "j 5\n"
66 "owqpleza 81\n"
67 "zxmbfhd 40\n"
68 "efhufcak 71\n"
69 "ih 15\n"
70 "tle 12\n"
71 "hahmeo 17\n"
72 "fpaqh 57\n"
73 "jgaymzbbe 77\n"
74 "lg 42\n"
75 "olfyjwvao 35\n"
76 "ytrrfqpqal 62\n"
77 "ypdz 34\n"
78 "eiiplejnht 83\n"
79 "lcjwld 56\n"
80 "lrktzp 71\n"
81 "zxbmu 56\n"
82 "ayqeet 76\n"
83 "okkarfg 93\n"
84 "qg 54\n"
85 "qnncyeab 62\n"
86 "ufokdpji 58\n"
87 "y 71\n"
88 "seycf 76\n"
89 "oeuur 100\n"
90 "iegnj 26\n"
91 "wejcgx 62\n"
92 "zbq 91\n"
93 "weil 71\n"
94 "mnmjdsbonc 93\n"
95 "wtwogwzv 51\n"
96 "opf 76\n"
97 "y 99\n"
98 "rcor 61\n"
99 "pkcvneh 68\n"
100 "ieuk 27\n"
101 "sbygxeeot 9\n"
102 "bywjbi 96\n"
103 "ngaqiie 38\n"
104 "moypf 19\n"
105 "ocvgzccuwm 2\n"
106 "zmxwoohbx 65\n"
107 "uq 20\n"
108 "rwyay 100\n"
109 "ecl 73\n"
110 "sxzuc 17\n"
111 "g 96\n"
112 "sbhwwec 2\n"
113 "xladpyjbh 72\n"
114 "dumtwkm 54\n"
115 "dganarbzg 1\n"
116 "kplbvgbfm 52\n"
117 "xznewvj 74\n"
118 "qxxoftmvy 26\n"
119 "btgs 100\n"
120 "ebpb 59\n"
121 "rzcjegvaik 19\n"
122 "c 31\n"
123 "sufabvfhu 26\n"
124 "y 39\n"
125 "hzwcluebji 15\n"
126 "pleyhlspye 10\n"
127 "himeyqc 2\n"
128 "uldwmrr 3\n"
129 "aqroavrgal 30\n"
130 "niwkcqpx 79\n"
131 "idybglq 57\n"
132 "cobjitjud 11\n"
133 "wijxnamzgm 55\n"
134 "lujjwqmf 11\n"
135 "mqmemhrlxs 59\n"
136 "e 47\n"
137 "oktlvt 46\n"
138 "l 40\n"
139 "mwjhpryut 7\n"
140 "s 85\n"
141 "s 73\n"
142 "jqf 33\n"
143 "yjkvuxrlq 1\n"
144 "ibme 99\n"
145 "wr 69");
146 auto out = ostringstream();
147 main(in, out);
148 const auto ans = out.str();
149 ASSERT_EQ("oeuur 100\n"
150 "rwyay 100\n"
151 "btgs 100\n"
152 "gxym 99\n"
153 "y 99\n"
154 "ibme 99\n"
155 "bywjbi 96\n"
156 "g 96\n"
157 "gwe 94\n"
158 "okkarfg 93\n"
159 "mnmjdsbonc 93\n"
160 "zbq 91\n"
161 "s 85\n"
162 "eiiplejnht 83\n"
163 "owqpleza 81\n"
164 "niwkcqpx 79\n"
165 "jgaymzbbe 77\n"
166 "ayqeet 76\n"
167 "seycf 76\n"
168 "opf 76\n"
169 "euiuxavbzx 75\n"
170 "xznewvj 74\n"
171 "ecl 73\n"
172 "s 73\n"
173 "xladpyjbh 72\n"
174 "efhufcak 71\n"
175 "lrktzp 71\n"
176 "y 71\n"
177 "weil 71\n"
178 "pqbqshzbw 69\n"
179 "wr 69\n"
180 "wmjflfg 68\n"
181 "pkcvneh 68\n"
182 "zmxwoohbx 65\n"
183 "ytrrfqpqal 62\n"
184 "qnncyeab 62\n"
185 "wejcgx 62\n"
186 "rcor 61\n"
187 "ebpb 59\n"
188 "mqmemhrlxs 59\n"
189 "ufokdpji 58\n"
190 "fpaqh 57\n"
191 "idybglq 57\n"
192 "lcjwld 56\n"
193 "zxbmu 56\n"
194 "wijxnamzgm 55\n"
195 "qg 54\n"
196 "dumtwkm 54\n"
197 "kplbvgbfm 52\n"
198 "wtwogwzv 51\n"
199 "rhntqphmbc 50\n"
200 "xzm 50\n"
201 "z 48\n"
202 "e 47\n"
203 "oktlvt 46\n"
204 "lg 42\n"
205 "dnmmp 40\n"
206 "zxmbfhd 40\n"
207 "l 40\n"
208 "ueuauw 39\n"
209 "y 39\n"
210 "ngaqiie 38\n"
211 "olfyjwvao 35\n"
212 "zkkteb 34\n"
213 "ypdz 34\n"
214 "jqf 33\n"
215 "c 31\n"
216 "aqroavrgal 30\n"
217 "ieuk 27\n"
218 "iegnj 26\n"
219 "qxxoftmvy 26\n"
220 "sufabvfhu 26\n"
221 "qeo 25\n"
222 "veqb 25\n"
223 "fecl 23\n"
224 "ccugwbcyu 22\n"
225 "uq 20\n"
226 "moypf 19\n"
227 "rzcjegvaik 19\n"
228 "zjf 17\n"
229 "hahmeo 17\n"
230 "sxzuc 17\n"
231 "ih 15\n"
232 "hzwcluebji 15\n"
233 "tle 12\n"
234 "cobjitjud 11\n"
235 "lujjwqmf 11\n"
236 "pleyhlspye 10\n"
237 "sbygxeeot 9\n"
238 "cnnpbsdknk 8\n"
239 "mwjhpryut 7\n"
240 "jkakocou 6\n"
241 "j 5\n"
242 "qijg 3\n"
243 "uldwmrr 3\n"
244 "ocvgzccuwm 2\n"
245 "sbhwwec 2\n"
246 "himeyqc 2\n"
247 "dganarbzg 1\n"
248 "yjkvuxrlq 1\n",
249 ans);
250 }

引用了 main().

◆ TEST() [4/4]

acwing::acwing3378::TEST ( acwing3378  ,
case4   
)

在文件 acwing408_test.cpp252 行定义.

252 {
253 istringstream in("100\n"
254 "0\n"
255 "eitqx 37\n"
256 "gpnwh 96\n"
257 "gre 7\n"
258 "t 89\n"
259 "axgt 77\n"
260 "bedfrq 14\n"
261 "wibtck 81\n"
262 "uvi 95\n"
263 "fjik 37\n"
264 "apv 85\n"
265 "tzyame 55\n"
266 "avfqpdgj 29\n"
267 "mgkerlanxu 92\n"
268 "kip 77\n"
269 "n 30\n"
270 "ovcaijgoal 95\n"
271 "schkm 14\n"
272 "huga 98\n"
273 "bvvtz 74\n"
274 "ba 39\n"
275 "ean 75\n"
276 "w 100\n"
277 "gjtoystw 60\n"
278 "mcp 27\n"
279 "yanohhiahb 68\n"
280 "vuo 14\n"
281 "hxengkhcog 81\n"
282 "z 33\n"
283 "dfhgyfk 16\n"
284 "rioeptytq 44\n"
285 "tsx 15\n"
286 "mwusnru 40\n"
287 "nne 60\n"
288 "xg 71\n"
289 "yqoyso 48\n"
290 "azpfhcl 98\n"
291 "swn 26\n"
292 "u 70\n"
293 "srjgvxxh 26\n"
294 "blyob 4\n"
295 "qcbnyndvpc 67\n"
296 "trhsghq 68\n"
297 "edbnpcg 64\n"
298 "vretjhkq 46\n"
299 "h 32\n"
300 "bujfbsbvkx 85\n"
301 "z 49\n"
302 "itepoq 18\n"
303 "namavupy 87\n"
304 "wbfr 46\n"
305 "zw 27\n"
306 "v 6\n"
307 "lhpqsssir 56\n"
308 "c 7\n"
309 "g 12\n"
310 "i 11\n"
311 "jj 85\n"
312 "zicwxfsf 71\n"
313 "yyedh 19\n"
314 "sblizpeey 60\n"
315 "bcwqcv 42\n"
316 "w 94\n"
317 "zlvs 78\n"
318 "olwszucmf 64\n"
319 "qlhtvus 79\n"
320 "nbnyavymi 23\n"
321 "lqzlapfyu 92\n"
322 "qtpznd 30\n"
323 "t 85\n"
324 "xhh 38\n"
325 "iaxsj 64\n"
326 "ycwmbpja 92\n"
327 "d 99\n"
328 "unt 88\n"
329 "fzmzqw 89\n"
330 "aakxmwzb 51\n"
331 "km 95\n"
332 "kzjhr 79\n"
333 "mrrz 80\n"
334 "yiwp 66\n"
335 "zlwlwbnz 35\n"
336 "laexmop 61\n"
337 "rao 65\n"
338 "k 76\n"
339 "qupfnwemav 93\n"
340 "er 20\n"
341 "xoltw 30\n"
342 "xxnnylhmr 81\n"
343 "o 66\n"
344 "hnwdhujn 73\n"
345 "zwjkxq 14\n"
346 "ejibwqo 22\n"
347 "d 20\n"
348 "imshoxcv 93\n"
349 "axygtftzrq 65\n"
350 "p 53\n"
351 "lrzhstv 54\n"
352 "lezed 51\n"
353 "hs 64\n"
354 "gz 52");
355 auto out = ostringstream();
356 main(in, out);
357 const auto ans = out.str();
358 ASSERT_EQ("w 100\n"
359 "d 99\n"
360 "huga 98\n"
361 "azpfhcl 98\n"
362 "gpnwh 96\n"
363 "uvi 95\n"
364 "ovcaijgoal 95\n"
365 "km 95\n"
366 "w 94\n"
367 "qupfnwemav 93\n"
368 "imshoxcv 93\n"
369 "mgkerlanxu 92\n"
370 "lqzlapfyu 92\n"
371 "ycwmbpja 92\n"
372 "t 89\n"
373 "fzmzqw 89\n"
374 "unt 88\n"
375 "namavupy 87\n"
376 "apv 85\n"
377 "bujfbsbvkx 85\n"
378 "jj 85\n"
379 "t 85\n"
380 "wibtck 81\n"
381 "hxengkhcog 81\n"
382 "xxnnylhmr 81\n"
383 "mrrz 80\n"
384 "qlhtvus 79\n"
385 "kzjhr 79\n"
386 "zlvs 78\n"
387 "axgt 77\n"
388 "kip 77\n"
389 "k 76\n"
390 "ean 75\n"
391 "bvvtz 74\n"
392 "hnwdhujn 73\n"
393 "xg 71\n"
394 "zicwxfsf 71\n"
395 "u 70\n"
396 "yanohhiahb 68\n"
397 "trhsghq 68\n"
398 "qcbnyndvpc 67\n"
399 "yiwp 66\n"
400 "o 66\n"
401 "rao 65\n"
402 "axygtftzrq 65\n"
403 "edbnpcg 64\n"
404 "olwszucmf 64\n"
405 "iaxsj 64\n"
406 "hs 64\n"
407 "laexmop 61\n"
408 "gjtoystw 60\n"
409 "nne 60\n"
410 "sblizpeey 60\n"
411 "lhpqsssir 56\n"
412 "tzyame 55\n"
413 "lrzhstv 54\n"
414 "p 53\n"
415 "gz 52\n"
416 "aakxmwzb 51\n"
417 "lezed 51\n"
418 "z 49\n"
419 "yqoyso 48\n"
420 "vretjhkq 46\n"
421 "wbfr 46\n"
422 "rioeptytq 44\n"
423 "bcwqcv 42\n"
424 "mwusnru 40\n"
425 "ba 39\n"
426 "xhh 38\n"
427 "eitqx 37\n"
428 "fjik 37\n"
429 "zlwlwbnz 35\n"
430 "z 33\n"
431 "h 32\n"
432 "n 30\n"
433 "qtpznd 30\n"
434 "xoltw 30\n"
435 "avfqpdgj 29\n"
436 "mcp 27\n"
437 "zw 27\n"
438 "swn 26\n"
439 "srjgvxxh 26\n"
440 "nbnyavymi 23\n"
441 "ejibwqo 22\n"
442 "er 20\n"
443 "d 20\n"
444 "yyedh 19\n"
445 "itepoq 18\n"
446 "dfhgyfk 16\n"
447 "tsx 15\n"
448 "bedfrq 14\n"
449 "schkm 14\n"
450 "vuo 14\n"
451 "zwjkxq 14\n"
452 "g 12\n"
453 "i 11\n"
454 "gre 7\n"
455 "c 7\n"
456 "v 6\n"
457 "blyob 4\n",
458 ans);
459 }

引用了 main().