Submission #599989

#TimeUsernameProblemLanguageResultExecution timeMemory
599989JomnoiScissors and Tape (CEOI19_scissors)C++17
0 / 100
1 ms212 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; } shapes.push_back(shape); id++; idlist.push_back(id); 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); } idlist.push_back(id); shapes.push_back(points); cin >> N; while(N--) { int x, y; cin >> x >> y; require.emplace_back(x, y); } X1 = points[2].x, Y1 = points[2].y; X2 = require[2].x, Y2 = require[2].y; vector <vector <pair <int, int>>> remains; remains.push_back({{0, 0}, {0, Y1}, {X2, Y1}, {X2, 0}}); nowx = X2; while(X1 > X2) { remains.push_back({{nowx, 0}, {nowx, Y1}, {nowx + X2, Y1}, {nowx + X2, 0}}); nowx += X2; X1 -= X2; } if(remains.size() > 1) { scissors(id, remains); tape(); } return 0; }
#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...