Привет, Codeforces!
- Хочу поделиться короткой фишкой из C++17, о которой многие до сих пор забывают, хотя она делает олимпиадный код в разы аккуратнее.
- Так можно делать абсолютно со всеми структурами.
Eсли раньше вы писали
struct edg {
int fr, sc;
};
int main() {
vector <edg> edges;
...
for (int i = 0; i < (int) edges.size(); ++i) {
int fr = edges[i].fr;
int sc = edges[i].sc;
...
}
}
- То начиная с С++17 можно писать так.
struct edg {
int fr, sc;
};
int main() {
vector <edg> edges;
...
for (auto& [fr, sc] : edges) {
...
}
}
- Что так же уменьшит потребление памяти, потому что вы не будите копировать значения, а будите брать по сылке. Так же это добавит чистоту вашему коду



