Submission #600050

#TimeUsernameProblemLanguageResultExecution timeMemory
600050JomnoiScissors and Tape (CEOI19_scissors)C++17
0 / 100
1 ms468 KiB
#include <bits/stdc++.h> #define x first #define y second using namespace std; int id, X1, X2, Y1, Y2; int nowx, nowy; vector <pair <int, int>> points, require; vector <vector <pair <int, int>>> shapes; vector <int> idlist; void scissors(int idA, vector <vector <pair <int, int>>> remains) { cout << "scissors\n"; cout << idA << ' ' << remains.size() << '\n'; shapes.pop_back(); idlist.pop_back(); nowx = 0; nowy = 0; for(auto shape : remains) { cout << shape.size() << ' '; for(auto [x, y] : shape) { cout << x << ' ' << y << ' '; } cout << '\n'; for(auto &[x, y] : shape) { x -= nowx; y += nowy; } idlist.push_back(++id); shapes.push_back(shape); nowx += X2; nowy += Y1; } } void tape() { cout << "tape\n"; cout << shapes.size() << ' '; for(auto i : idlist) { cout << i << ' '; } cout << '\n'; for(auto shape : shapes) { cout << shape.size() << ' '; for(auto [x, y] : shape) { cout << x << ' ' << y << ' '; } cout << '\n'; } cout << require.size() << ' '; for(auto [x, y] : require) { cout << x << ' ' << y << ' '; } } int main() { cin.tie(nullptr)->sync_with_stdio(false); int N; cin >> N; while(N--) { int x, y; cin >> x >> y; points.emplace_back(x, y); } tie(X1, Y1) = points[2]; idlist.push_back(id); shapes.push_back(points); cin >> N; while(N--) { int x, y; cin >> x >> y; require.emplace_back(x, y); } tie(X2, Y2) = require[2]; vector <vector <pair <int, int>>> remains; remains.push_back({{0, 0}, {X2, 0}, {X2, Y1}, {0, Y1}}); nowx = X2; while(X1 - X2 > X2) { remains.push_back({{nowx, 0}, {nowx + X2, 0}, {nowx + X2, Y1}, {nowx, Y1}}); nowx += X2; X1 -= X2; } int D = X2 / (X1 - X2); assert(X2 % (X1 - X2) == 0); if(remains.size() > 1) { scissors(id, remains); tape(); } return 0; }

Compilation message (stderr)

scissors.cpp: In function 'int main()':
scissors.cpp:93:9: warning: unused variable 'D' [-Wunused-variable]
   93 |     int D = X2 / (X1 - X2);
      |         ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...