제출 #1142366

#제출 시각아이디문제언어결과실행 시간메모리
1142366vticjsCutting a rectangle (LMIO18_staciakampis)C++20
0 / 100
0 ms328 KiB
#include <iostream> #include<vector> #include <algorithm> using namespace std; struct r { int a; int b; }; r order(int a, int b) { r out; if (a >= b) { out.a = a; out.b = b; } else { out.a = b; out.b = a; } return out; } bool comp(int a, int b) { return a < b; } r ds[20001]; vector<int> v; int main() { int st = 0, dr = 0; int st1, dr1; int k; int a, b; r crt; cin >> k; if (k > 0) { cin >> crt.a >> crt.b; ds[0] = crt; dr = 1; } for (int i = 1; i < k; i++) { cin >> crt.a >> crt.b; st1 = dr; dr1 = st1; for (int j = st; j < dr; j++) { if (ds[j].a == crt.a) { a = crt.a; b = ds[j].b + crt.b; ds[dr1] = order(a, b); dr1++; } if (ds[j].a == crt.b) { a = crt.b; b = ds[j].b + crt.a; ds[dr1] = order(a, b); dr1++; } if (ds[j].b == crt.a) { a = crt.a; b = ds[j].a + crt.b; ds[dr1] = order(a, b); dr1++; } if (ds[j].b == crt.b) { a = crt.b; b = ds[j].a + crt.a; ds[dr1] = order(a, b); dr1++; } } st = st1; dr = dr1; } for (int i = st; i < dr; i++) { if (find(v.begin(), v.end(), ds[i].b) == v.end()) { v.push_back(ds[i].b); } } sort(v.begin(), v.end(), comp); cout << v.size() << '\n'; for (int i = 0; i < v.size(); i++) { cout << v[i] << '\n'; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...