From 11758bb746a3515562faf949dc6e105dce27dac2 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 21 May 2023 20:17:38 +0300 Subject: [DAAP] Added old first homework From a month ago --- .../Practicum/Homeworks/HW1-Crossword.cpp | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Year 2/Design and analysis of algorithms/Practicum/Homeworks/HW1-Crossword.cpp diff --git a/Year 2/Design and analysis of algorithms/Practicum/Homeworks/HW1-Crossword.cpp b/Year 2/Design and analysis of algorithms/Practicum/Homeworks/HW1-Crossword.cpp new file mode 100644 index 0000000..a1ce13d --- /dev/null +++ b/Year 2/Design and analysis of algorithms/Practicum/Homeworks/HW1-Crossword.cpp @@ -0,0 +1,54 @@ +#include +#include +#include +#include +#include +using namespace std; + +bool betp(int big, int bet, int low) { + return big >= bet && bet >= low; +} + +int main() { + int N = 0, M = 0; + scanf("%d %d", &N, &M); + vector> crossroads; + int ai = 0, bi = 0; + for (int i = 0; i < N; i++) { + scanf("%d %d", &ai, &bi); + crossroads.push_back({ ai, bi }); + } + vector> trees; + for (int i = 0; i < M; i++) { + scanf("%d %d", &ai, &bi); + trees.push_back({ ai, bi }); + } + int Q = 0; + scanf("%d", &Q); + vector sizes; + for (int i = 0; i < Q; i++) { + scanf("%d", &ai); + sizes.push_back(ai / 2); + } + + vector results(sizes.size()); + for (int i = 0; i < sizes.size(); i++) { + results[i] = 0; + for (vector& tree : trees) { + for (vector& crossroad : crossroads) { + if (betp(crossroad[0] + sizes[i], tree[0], crossroad[0] - sizes[i]) || + betp(crossroad[1] + sizes[i], tree[1], crossroad[1] - sizes[i])) { + results[i]++; + break; + } + } + } + } + + printf("%d", results[0]); + for (int i = 1; i < results.size(); i++) { + printf(" %d", results[i]); + } + + return 0; +} -- cgit v1.3.1-26-gb76a