diff --git a/2023/1/main.cpp b/2023/1/main.cpp index c2a8254..b8fe325 100644 --- a/2023/1/main.cpp +++ b/2023/1/main.cpp @@ -19,10 +19,10 @@ int main() { int ret = 0; - string line; - for (;;) { + while (!cin.eof()) { + string line; getline(cin, line); - if (cin.eof()) + if (line.empty()) break; int pi = INT_MAX, pl = -1, vi = 0, vl = 0; diff --git a/2023/2/main-1.cpp b/2023/2/main-1.cpp index 58173fb..2dffa50 100644 --- a/2023/2/main-1.cpp +++ b/2023/2/main-1.cpp @@ -5,28 +5,23 @@ int main() { ios::sync_with_stdio(0); cin.tie(0); - auto& cin = std::cin >> noskipws; - int ret = 0, id = 0; bool isPossible = true; - for (;;) { - char c; - cin >> c; - switch (c) { + while (!cin.eof()) { + switch (cin.get()) { case 'G': - cin >> c; cin >> c; cin >> c; cin >> c; + cin.ignore(4); cin >> id; break; case ':': case ',': case ';': if (!isPossible) break; - cin >> c; + cin.ignore(1); int n; cin >> n; - cin >> c; - cin >> c; - switch (c) { + cin.ignore(1); + switch (cin.get()) { case 'r': if (n > 12) isPossible = false; @@ -42,16 +37,16 @@ int main() { } break; case '\n': - if (cin.eof()) - goto end; - if (isPossible) + case EOF: + if (isPossible) { ret += id; - else + id = 0; + } else { isPossible = true; + } break; } } -end: cout << ret << '\n'; } diff --git a/2023/2/main-2.cpp b/2023/2/main-2.cpp index 723cb2d..fc73df3 100644 --- a/2023/2/main-2.cpp +++ b/2023/2/main-2.cpp @@ -5,39 +5,32 @@ int main() { ios::sync_with_stdio(0); cin.tie(0); - auto& cin = std::cin >> noskipws; - int ret = 0, id = 0, r = 0, g = 0, b = 0; - for (;;) { - char c; - cin >> c; - switch (c) { + while (!cin.eof()) { + switch (cin.get()) { case 'G': - cin >> c; cin >> c; cin >> c; cin >> c; + cin.ignore(4); cin >> id; break; case ':': case ',': case ';': - cin >> c; + cin.ignore(1); int n; cin >> n; - cin >> c; - cin >> c; - switch (c) { + cin.ignore(1); + switch (cin.get()) { case 'r': r = max(n, r); break; case 'g': g = max(n, g); break; case 'b': b = max(n, b); break; } break; case '\n': - if (cin.eof()) - goto end; + case EOF: ret += r * g * b; r = 0; g = 0; b = 0; break; } } -end: cout << ret << '\n'; } diff --git a/2023/3/main-1.cpp b/2023/3/main-1.cpp index c2c0ca6..281ce44 100644 --- a/2023/3/main-1.cpp +++ b/2023/3/main-1.cpp @@ -10,13 +10,13 @@ int main() { cin.tie(0); vector lines; - do { + while (!cin.eof()) { string line; getline(cin, line); if (line.empty()) break; lines.push_back(line); - } while (!cin.eof()); + } int ret = 0; diff --git a/2023/3/main-2.cpp b/2023/3/main-2.cpp index dceb6e6..aabc936 100644 --- a/2023/3/main-2.cpp +++ b/2023/3/main-2.cpp @@ -10,13 +10,13 @@ int main() { cin.tie(0); vector lines; - do { + while (!cin.eof()) { string line; getline(cin, line); if (line.empty()) break; lines.push_back(line); - } while (!cin.eof()); + } int ret = 0;