Submission #1246976

#TimeUsernameProblemLanguageResultExecution timeMemory
1246976KindaGoodGamesScissors and Tape (CEOI19_scissors)C++20
0 / 100
0 ms328 KiB
#include<bits/stdc++.h> using namespace std; struct Point{ int x, y; Point(){} Point(int x, int y){ this->x = x; this->y = y; } friend istream& operator>>(istream& in, Point& p){ in >> p.x >> p.y; return in; } void out(){ cout << x << " " << y << " "; } }; struct Rect{ Point a,b,c,d; friend istream& operator>>(istream& in, Rect& r){ in >> r.a >>r. b >> r.c >> r.d; return in; } Rect(int x1, int y1, int x2, int y2){ a = Point(x1,y1); b = Point(x1,y2); c = Point(x2,y1); d = Point(x2,y2); } Rect(){} int xLen(){ return max({a.x,b.x,c.x,d.x}); } int yLen(){ return max({a.y,b.y,c.y,d.y}); } void output(){ cout << 4 << " "; // DL a.out();b.out();c.out();d.out(); cout << endl; } }; int main(){ int n1, n2; Rect S, T; cin >> n1 >> S >> n2 >> T; if(S.xLen() == T.xLen() && S.yLen() == T.yLen()){ // do nothing return 0; } int cnt = S.xLen()/T.xLen(); int curheight = S.yLen(); int len = T.xLen(); int curpos = T.xLen(); cout << "scissors" << endl << 0 << " "<< cnt << endl; vector<Rect> rects(cnt+1); for(int i = 1; i <= cnt; i++){ cout << 4 << " "; rects[i] = Rect(curpos,0,curpos+len,curheight); rects[i].output(); curpos += len; } cout << "tape" << endl << cnt << " "; for(int i = 1; i <= cnt; i++){ cout << i <<" "; } cout << endl; for(int i = 1; i <= cnt; i++){ rects[i].output(); curpos += len; } T.output(); }
#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...