提交时间:2024-04-29 08:13:52
运行 ID: 28732
#include<bits/stdc++.h> using namespace std; char mp[20][20]; int n,m; struct nd{ char op; int a,x,y; }H[20],W[20]; void init(){ H[1]={'I',0,1,1}; H[2]={'S',0,1,4}; H[3]={'Z',1,1,6}; H[4]={'J',3,1,7}; H[5]={'T',1,2,1}; H[6]={'Z',0,2,2}; H[7]={'S',1,3,5}; H[8]={'L',2,4,2}; H[9]={'O',0,4,7}; H[10]={'T',1,5,1}; H[11]={'O',0,5,3}; H[12]={'J',0,5,5}; H[13]={'L',0,6,6}; H[14]={'I',0,7,2}; } void printh(int dx,int dy){ for(int i=1;i<=14;i++) cout<<H[i].op<<H[i].a<<' '<<H[i].x+dx<<' '<<H[i].y+dy<<endl; }void printw(int dx,int dy){ printf("J2 %d %d\n",1+dx,1+dy); printf("O0 %d %d\n",1+dx,4+dy); printf("L3 %d %d\n",1+dx,6+dy); printf("Z0 %d %d\n",2+dx,1+dy); printf("J3 %d %d\n",2+dx,5+dy); printf("S1 %d %d\n",3+dx,1+dy); printf("S0 %d %d\n",3+dx,3+dy); printf("I1 %d %d\n",4+dx,7+dy); printf("I1 %d %d\n",5+dx,1+dy); printf("Z1 %d %d\n",5+dx,2+dy); printf("L1 %d %d\n",5+dx,4+dy); printf("O0 %d %d\n",5+dx,5+dy); printf("T0 %d %d\n",7+dx,2+dy); printf("T0 %d %d\n",7+dx,5+dy); } void printh1(int dx,int dy){ printf("I0 %d %d\n",1+dx,1+dy); printf("I0 %d %d\n",2+dx,1+dy); printf("O0 %d %d\n",3+dx,1+dy); printf("O0 %d %d\n",3+dx,3+dy); printf("J0 %d %d\n",5+dx,1+dy); printf("J2 %d %d\n",5+dx,2+dy); printf("Z0 %d %d\n",7+dx,1+dy); printf("L3 %d %d\n",7+dx,3+dy); printf("S1 %d %d\n",8+dx,1+dy); printf("S1 %d %d\n",9+dx,3+dy); printf("T1 %d %d\n",10+dx,1+dy); printf("Z1 %d %d\n",11+dx,2+dy); printf("T3 %d %d\n",12+dx,3+dy); printf("J0 %d %d\n",13+dx,1+dy); }void printh2(int dx,int dy){ printf("I0 %d %d\n",1+dx,1+dy); printf("I0 %d %d\n",2+dx,1+dy); printf("O0 %d %d\n",3+dx,1+dy); printf("O0 %d %d\n",3+dx,3+dy); printf("L2 %d %d\n",5+dx,1+dy); printf("L0 %d %d\n",5+dx,2+dy); printf("Z0 %d %d\n",7+dx,1+dy); printf("L3 %d %d\n",7+dx,3+dy); printf("S1 %d %d\n",8+dx,1+dy); printf("S1 %d %d\n",9+dx,3+dy); printf("T1 %d %d\n",10+dx,1+dy); printf("Z1 %d %d\n",11+dx,2+dy); printf("T3 %d %d\n",12+dx,3+dy); printf("J0 %d %d\n",13+dx,1+dy); }void printw1(int dx,int dy){ printf("I1 %d %d\n",1+dx,1+dy); printf("I1 %d %d\n",1+dx,2+dy); printf("O0 %d %d\n",1+dx,3+dy); printf("O0 %d %d\n",3+dx,3+dy); printf("J1 %d %d\n",1+dx,5+dy); printf("J3 %d %d\n",2+dx,5+dy); printf("L2 %d %d\n",1+dx,7+dy); printf("S0 %d %d\n",1+dx,9+dy); printf("T2 %d %d\n",1+dx,12+dy); printf("Z0 %d %d\n",2+dx,11+dy); printf("Z1 %d %d\n",2+dx,7+dy); printf("J3 %d %d\n",2+dx,13+dy); printf("S0 %d %d\n",3+dx,8+dy); printf("T0 %d %d\n",3+dx,10+dy); }void printw2(int dx,int dy){ printf("I1 %d %d\n",1+dx,1+dy); printf("I1 %d %d\n",1+dx,2+dy); printf("O0 %d %d\n",1+dx,3+dy); printf("O0 %d %d\n",3+dx,3+dy); printf("L3 %d %d\n",1+dx,5+dy); printf("L1 %d %d\n",2+dx,5+dy); printf("L2 %d %d\n",1+dx,7+dy); printf("S0 %d %d\n",1+dx,9+dy); printf("T2 %d %d\n",1+dx,12+dy); printf("Z0 %d %d\n",2+dx,11+dy); printf("Z1 %d %d\n",2+dx,7+dy); printf("J3 %d %d\n",2+dx,13+dy); printf("S0 %d %d\n",3+dx,8+dy); printf("T0 %d %d\n",3+dx,10+dy); } void slv1(){ if(n%7==0&&m%8==0){ cout<<"Yes"<<endl; for(int i=0;i<n;i+=7){ for(int j=0;j<m;j+=8){ printh(i,j); } } }else if(m%7==0&&n%8==0){ cout<<"Yes"<<endl; for(int i=0;i<n;i+=8){ for(int j=0;j<m;j+=7){ printw(i,j); } } }else { if(n%28==0&&m%4==0){ cout<<"Yes"<<endl; for(int i=0;i<n;i+=28){ for(int j=0;j<m;j+=4){ printh1(i,j); printh2(i+14,j); } } }else if(m%28==0&&n%4==0){cout<<"Yes"<<endl; for(int i=0;i<n;i+=4){ for(int j=0;j<m;j+=28){ printw1(i,j); printw2(i,j+14); } } } else cout<<"No"<<endl; } } void slv(){ cin>>n>>m; if(n*m%28!=0) cout<<"No"<<endl; else{ int blo=n*m/4; if(blo/7%2!=0) cout<<"No"<<endl; else{ slv1(); } } } int main(){ slv(); return 0; }