I see some very good coders such as snuke, Petr do this. struct Solver and writing their actual solution in the Solver's method void solve(). Is there any practical benefit of doing this?
# | User | Rating |
---|---|---|
1 | tourist | 3993 |
2 | jiangly | 3743 |
3 | orzdevinwang | 3707 |
4 | Radewoosh | 3627 |
5 | jqdai0815 | 3620 |
6 | Benq | 3564 |
7 | Kevin114514 | 3443 |
8 | ksun48 | 3434 |
9 | Rewinding | 3397 |
10 | Um_nik | 3396 |
# | User | Contrib. |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 155 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
10 | nor | 152 |
I see some very good coders such as snuke, Petr do this. struct Solver and writing their actual solution in the Solver's method void solve(). Is there any practical benefit of doing this?
Name |
---|
They probably get used to code in Java, hence they use OOP/struct in C++.
Don't know about them but i personally use this so that in multiple tc's questions i can write
Instead of
really convenient, no need to if -> break for all like 3 looped loops, just return -> ez gg
Ability to reset global variables at tasks with multitests
can't I just reset global variables just with void solve()? why need struct Solver?
It's about convenience, not just ability. Having ctors and dtors do work for you is convenient.
One might forget to clear some vector
One advantage is that order of function defintions doesn't matter. You can use a function defined below your main function inside main function.