#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,y2);
d = Point(x2,y1);
}
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;
cout << 0 << " " << cnt << endl;
vector<Rect> rects(cnt+1);
for(int i = 1; i <= cnt; i++){
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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |