From: Skullheadx <94652084+Skullheadx@users.noreply.github.com> Date: Wed, 5 Oct 2022 14:29:58 +0000 (-0400) Subject: 2018 S1, S2 X-Git-Url: http://git.skullheadx.com/nixos/tech/openbsd_html_css/post.html?a=commitdiff_plain;h=e0a02eb9ffa15bb5837bb89edb6eebbadebd4a36;p=CCC.git 2018 S1, S2 --- diff --git a/Main/C++/2018/S1.cpp b/Main/C++/2018/S1.cpp new file mode 100644 index 0000000..f5cadc3 --- /dev/null +++ b/Main/C++/2018/S1.cpp @@ -0,0 +1,31 @@ +#include +using namespace std; + +int main() +{ + int N, V; + cin >> N; + + vector road; + + for (int i = 0; i < N; i++) + { + cin >> V; + road.push_back(V); + } + + sort(road.begin(), road.end()); + + float min_size = -1, current_size, left, right; + for (int i = 1; i < N-1; i++) + { + left = (road[i] - road[i-1])/2.0; + right = (road[i+1] - road[i])/2.0; + current_size = left + right; + if (min_size == -1 || current_size < min_size) + min_size = current_size; + } + std::cout << std::fixed << std::setprecision(1) << min_size; + + return 0; +} diff --git a/Main/C++/2018/S1.exe b/Main/C++/2018/S1.exe new file mode 100644 index 0000000..948bb61 Binary files /dev/null and b/Main/C++/2018/S1.exe differ diff --git a/Main/C++/2018/S1.o b/Main/C++/2018/S1.o new file mode 100644 index 0000000..d5be192 Binary files /dev/null and b/Main/C++/2018/S1.o differ diff --git a/Main/C++/2018/S2.cpp b/Main/C++/2018/S2.cpp new file mode 100644 index 0000000..7b5f4d3 --- /dev/null +++ b/Main/C++/2018/S2.cpp @@ -0,0 +1,79 @@ +#include +using namespace std; +bool is_correct(vector> table, int n); +vector> rotate_table(vector> table, int n); +void print_table(vector> table, int n); + +int main() +{ + int N, input; + cin >> N; + vector> data; + for (int i = 0; i < N; i++) + { + vector line; + for (int j = 0; j < N; j++) + { + cin >> input; + line.push_back(input); + } + data.push_back(line); + } + + + for (int i = 0; i < 3; i++) + { + if (is_correct(data,N)==true) + break; + else + data = rotate_table(data, N); + } + + print_table(data, N); +} + +void print_table(vector> table, int n) +{ + for (int i = 0; i < n; i++) + { + for (int j = 0; j < n; j++) + { + cout << table[i][j] << ' '; + } + cout << endl; + } +} + + +vector> rotate_table(vector> table, int n) +{ + vector> output; + for (int i = 0; i < n; i++) + { + vector row; + for (int j = 0; j < n; j++) + { + row.push_back(table[j][i]); + } + reverse(row.begin(), row.end()); + output.push_back(row); + } + return output; +} + + +bool is_correct(vector> table, int n) +{ + for (int i = 0; i < n; i++) + { + for (int j = 1; j < n; j++) + { + if (table[i][j] < table[i][j-1]) + return false; + else if (table[j][i] < table[j-1][i]) + return false; + } + } + + return true; +} diff --git a/Main/C++/2018/S2.exe b/Main/C++/2018/S2.exe new file mode 100644 index 0000000..c9b7b97 Binary files /dev/null and b/Main/C++/2018/S2.exe differ diff --git a/Main/C++/2018/S2.o b/Main/C++/2018/S2.o new file mode 100644 index 0000000..5c0730d Binary files /dev/null and b/Main/C++/2018/S2.o differ