提交时间:2024-04-29 08:34:28
运行 ID: 28740
#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],H1[20],W1[20],H2[60],W2[60],H3[60],W3[60],H4[100],W4[100]; 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}; W[1]={'J',2,1,1};W[2]={'O',0,1,4};W[3]={'L',3,1,6};W[4]={'Z',0,2,1}; W[5]={'J',3,2,5};W[6]={'S',1,3,1};W[7]={'S',0,3,3};W[8]={'I',1,4,7}; W[9]={'I',1,5,1};W[10]={'Z',1,5,2};W[11]={'L',1,5,4};W[12]={'O',0,5,5}; W[13]={'T',0,7,2};W[14]={'T',0,7,5}; H1[1]={'I',1,1,1}; H1[2]={'J',2,1,2}; H1[3]={'O',0,2,2}; H1[4]={'Z',1,3,3}; H1[5]={'T',3,4,1}; H1[6]={'Z',1,5,3}; H1[7]={'S',1,6,1}; H1[8]={'T',3,7,3}; H1[9]={'J',0,8,1}; H1[10]={'O',0,9,3}; H1[11]={'L',3,9,1}; H1[12]={'I',1,10,1}; H1[13]={'S',0,12,2}; H1[14]={'L',0,13,2}; } void printh(int dx,int dy){ for(int i=1;i<=14;i++) printf("%c%d %d %d\n",H[i].op,H[i].a,H[i].x+dx,H[i].y+dy); }void printw(int dx,int dy){ for(int i=1;i<=14;i++) printf("%c%d %d %d\n",W[i].op,W[i].a,W[i].x+dx,W[i].y+dy); } void printh1(int dx,int dy){ for(int i=1;i<=14;i++) printf("%c%d %d %d\n",H1[i].op,H1[i].a,H1[i].x+dx,H1[i].y+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+=14){ for(int j=0;j<m;j+=4){ printh1(i,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(){ init(); 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; }