提交时间:2024-04-29 12:06:55
运行 ID: 28794
#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,10,3};H1[11]={'L',3,10,1};H1[12]={'I',1,11,1}; H1[13]={'S',0,12,2};H1[14]={'L',0,13,2}; W1[1]={'I',0,1,1};W1[2]={'L',0,1,3};W1[3]={'J',1,1,6};W1[4]={'S',0,1,7}; W1[5]={'T',0,1,9};W1[6]={'I',0,1,11};W1[7]={'L',1,2,1};W1[8]={'S',1,2,2}; W1[9]={'O',0,3,4};W1[10]={'T',0,3,6};W1[11]={'Z',0,3,8};W1[12]={'Z',0,3,10}; W1[13]={'O',0,2,12};W1[14]={'J',3,2,13}; H2[1]={'I',1,1,1};H2[2]={'I',1,5,6};H2[3]={'I',1,11,6};H2[4]={'I',1,14,5}; H2[5]={'I',1,15,6};H2[6]={'I',1,23,6};H2[7]={'O',0,1,2};H2[8]={'O',0,4,4}; H2[9]={'O',0,14,1};H2[10]={'O',0,16,2};H2[11]={'O',0,20,4};H2[12]={'O',0,24,4}; H2[13]={'T',1,5,1};H2[14]={'T',0,8,4};H2[15]={'T',2,10,4};H2[16]={'T',3,17,3}; H2[17]={'T',1,23,1};H2[18]={'T',1,26,1};H2[19]={'Z',1,2,3};H2[20]={'Z',1,7,1}; H2[21]={'Z',1,11,3};H2[22]={'Z',1,12,4};H2[23]={'Z',0,20,1};H2[24]={'Z',1,24,2}; H2[25]={'S',1,2,5};H2[26]={'S',0,7,3};H2[27]={'S',1,14,3};H2[28]={'S',1,18,5}; H2[29]={'S',1,21,1};H2[30]={'S',0,27,2};H2[31]={'J',2,1,4};H2[32]={'J',1,10,1}; H2[33]={'J',3,11,1};H2[34]={'J',2,19,1};H2[35]={'J',0,22,3};H2[36]={'J',2,26,3}; H2[37]={'L',1,3,2};H2[38]={'L',2,6,3};H2[39]={'L',3,9,2};H2[40]={'L',1,16,1}; H2[41]={'L',0,21,4};H2[42]={'L',0,27,4}; W2[1]={'I',0,1,5};W2[2]={'I',0,1,11};W2[3]={'I',0,1,15};W2[4]={'I',0,1,23}; W2[5]={'I',0,2,14};W2[6]={'I',0,6,1};W2[7]={'O',0,2,4};W2[8]={'O',0,2,20}; W2[9]={'O',0,2,24};W2[10]={'O',0,4,1};W2[11]={'O',0,4,16};W2[12]={'O',0,5,14}; W2[13]={'Z',0,2,12};W2[14]={'Z',0,3,2};W2[15]={'Z',0,3,11};W2[16]={'Z',1,4,20}; W2[17]={'Z',0,4,24};W2[18]={'Z',0,5,7};W2[19]={'S',0,1,2};W2[20]={'S',0,1,18}; W2[21]={'S',1,2,7};W2[22]={'S',0,3,14};W2[23]={'S',1,3,27};W2[24]={'S',0,5,21}; W2[25]={'J',1,1,1};W2[26]={'J',3,2,22};W2[27]={'J',1,2,26};W2[28]={'J',1,4,19}; W2[29]={'J',0,5,10};W2[30]={'J',2,5,11};W2[31]={'L',3,1,21};W2[32]={'L',3,1,27}; W2[33]={'L',1,2,6};W2[34]={'L',0,4,3};W2[35]={'L',2,4,9};W2[36]={'L',0,5,16}; W2[37]={'T',3,1,8};W2[38]={'T',1,1,10};W2[39]={'T',2,3,17};W2[40]={'T',0,5,5}; W2[41]={'T',0,5,23};W2[42]={'T',0,5,26}; H3[1]={'I',1,1,3};H3[2]={'I',1,28,1};H3[3]={'I',1,32,1};H3[4]={'I',1,36,1}; H3[5]={'I',1,48,3};H3[6]={'I',1,52,3};H3[7]={'O',0,1,1};H3[8]={'O',0,3,1}; H3[9]={'O',0,6,1};H3[10]={'O',0,23,1};H3[11]={'O',0,42,1};H3[12]={'O',0,46,2}; H3[13]={'Z',1,10,1};H3[14]={'Z',1,14,1};H3[15]={'Z',1,18,1};H3[16]={'Z',1,49,1}; H3[17]={'Z',1,51,1};H3[18]={'Z',1,53,1};H3[19]={'S',1,27,2};H3[20]={'S',1,29,2}; H3[21]={'S',1,31,2};H3[22]={'S',1,33,2};H3[23]={'S',1,35,2};H3[24]={'S',1,37,2}; H3[25]={'J',2,5,1};H3[26]={'J',3,10,2};H3[27]={'J',3,14,2};H3[28]={'J',3,18,2}; H3[29]={'J',1,25,1};H3[30]={'J',2,41,1};H3[31]={'L',0,7,1};H3[32]={'L',2,9,1}; H3[33]={'L',2,13,1};H3[34]={'L',2,17,1};H3[35]={'L',2,21,1};H3[36]={'L',3,22,2}; H3[37]={'T',3,25,2};H3[38]={'T',0,39,1};H3[39]={'T',3,43,2};H3[40]={'T',1,44,1}; H3[41]={'T',1,47,1};H3[42]={'T',0,55,1}; }void init2(){ W3[1]={'I',0,3,2}; W3[2]={'I',0,3,6}; W3[3]={'I',0,1,18}; W3[4]={'I',0,1,22}; W3[5]={'I',0,1,26}; W3[6]={'I',0,3,53}; W3[7]={'O',0,2,10}; W3[8]={'O',0,1,14}; W3[9]={'O',0,1,33}; W3[10]={'O',0,1,50}; W3[11]={'O',0,1,53}; W3[12]={'O',0,1,55}; W3[13]={'Z',0,1,2}; W3[14]={'Z',0,1,4}; W3[15]={'Z',0,1,6}; W3[16]={'Z',0,1,37}; W3[17]={'Z',0,1,41}; W3[18]={'Z',0,1,45}; W3[19]={'J',3,1,15}; W3[20]={'J',2,1,30}; W3[21]={'J',0,2,37}; W3[22]={'J',0,2,41}; W3[23]={'J',0,2,45}; W3[24]={'J',3,1,51}; W3[25]={'L',0,2,33}; W3[26]={'L',3,1,35}; W3[27]={'L',3,1,39}; W3[28]={'L',3,1,43}; W3[29]={'L',3,1,47}; W3[30]={'L',1,1,49}; W3[31]={'S',0,2,18}; W3[32]={'S',0,2,20}; W3[33]={'S',0,2,22}; W3[34]={'S',0,2,24}; W3[35]={'S',0,2,26}; W3[36]={'S',0,2,28}; W3[37]={'T',1,1,1}; W3[38]={'T',2,1,8}; W3[39]={'T',2,1,11}; W3[40]={'T',0,2,12}; W3[41]={'T',1,1,17}; W3[42]={'T',0,2,30}; H4[1]={'I',1,2,1};H4[2]={'I',1,10,5};H4[3]={'I',1,16,5};H4[4]={'I',1,21,1}; H4[5]={'I',0,23,2};H4[6]={'I',1,30,5};H4[7]={'I',1,40,5};H4[8]={'I',1,46,5}; H4[9]={'I',1,48,1};H4[10]={'I',1,50,5};H4[11]={'O',0,4,4};H4[12]={'O',0,11,3}; H4[13]={'O',0,14,4};H4[14]={'O',0,21,2};H4[15]={'O',0,31,3};H4[16]={'O',0,34,4}; H4[17]={'O',0,36,2};H4[18]={'O',0,36,4};H4[19]={'O',0,46,3};H4[20]={'O',0,53,3}; H4[21]={'Z',0,1,1};H4[22]={'Z',1,10,1};H4[23]={'Z',1,12,1};H4[24]={'Z',1,14,1}; H4[25]={'Z',1,24,1};H4[26]={'Z',1,32,1};H4[27]={'Z',1,34,1};H4[28]={'Z',0,43,3}; H4[29]={'Z',0,50,2};H4[30]={'Z',1,54,1};H4[31]={'S',1,3,2};H4[32]={'S',1,5,2}; H4[33]={'S',1,6,1};H4[34]={'S',1,19,3};H4[35]={'S',1,24,3};H4[36]={'S',1,26,3}; H4[37]={'S',1,28,1};H4[38]={'S',1,39,2};H4[39]={'S',1,43,1};H4[40]={'S',0,55,2}; H4[41]={'J',1,6,4};H4[42]={'J',3,7,4};H4[43]={'J',1,13,3};H4[44]={'J',3,20,4}; H4[45]={'J',3,27,4};H4[46]={'J',1,33,3};H4[47]={'J',1,39,4};H4[48]={'J',0,44,3}; H4[49]={'J',0,51,2};H4[50]={'J',3,54,4};H4[51]={'L',0,2,3};H4[52]={'L',1,8,3}; H4[53]={'L',3,17,1};H4[54]={'L',1,18,1};H4[55]={'L',3,24,4};H4[56]={'L',1,28,3}; H4[57]={'L',2,38,3};H4[58]={'L',2,42,2};H4[59]={'L',1,47,2};H4[60]={'L',3,48,3}; H4[61]={'T',2,1,3};H4[62]={'T',1,8,1};H4[63]={'T',2,16,2};H4[64]={'T',3,17,3}; H4[65]={'T',3,26,1};H4[66]={'T',1,30,1};H4[67]={'T',1,37,1};H4[68]={'T',1,40,1}; H4[69]={'T',1,45,1};H4[70]={'T',1,52,1}; }void init3(){ W4[1]={'I',0,1,6}; W4[2]={'I',0,5,4}; W4[3]={'I',0,5,8}; W4[4]={'I',0,5,14}; W4[5]={'I',0,5,24}; W4[6]={'I',0,1,33}; W4[7]={'I',1,2,34}; W4[8]={'I',0,5,38}; W4[9]={'I',0,5,44}; W4[10]={'I',0,1,52}; W4[11]={'O',0,3,3}; W4[12]={'O',0,3,10}; W4[13]={'O',0,2,20}; W4[14]={'O',0,4,20}; W4[15]={'O',0,4,22}; W4[16]={'O',0,3,25}; W4[17]={'O',0,2,35}; W4[18]={'O',0,4,42}; W4[19]={'O',0,3,45}; W4[20]={'O',0,4,52}; W4[21]={'Z',0,1,1}; W4[22]={'Z',0,1,21}; W4[23]={'Z',0,1,23}; W4[24]={'Z',0,1,31}; W4[25]={'Z',0,1,41}; W4[26]={'Z',0,1,43}; W4[27]={'Z',0,1,45}; W4[28]={'Z',1,1,55}; W4[29]={'Z',1,2,6}; W4[30]={'Z',1,3,13}; W4[31]={'S',1,2,1}; W4[32]={'S',0,1,12}; W4[33]={'S',0,2,16}; W4[34]={'S',0,1,27}; W4[35]={'S',0,3,29}; W4[36]={'S',0,3,31}; W4[37]={'S',0,3,36}; W4[38]={'S',0,1,49}; W4[39]={'S',0,2,50}; W4[40]={'S',0,2,52}; W4[41]={'J',0,4,1}; W4[42]={'J',1,2,5}; W4[43]={'J',1,3,12}; W4[44]={'J',2,4,16}; W4[45]={'J',2,3,22}; W4[46]={'J',0,4,28}; W4[47]={'J',0,4,35}; W4[48]={'J',2,3,42}; W4[49]={'J',0,4,48}; W4[50]={'J',2,4,49}; W4[51]={'L',0,2,7}; W4[52]={'L',2,2,9}; W4[53]={'L',3,2,14}; W4[54]={'L',3,3,18}; W4[55]={'L',2,3,27}; W4[56]={'L',0,4,31}; W4[57]={'L',2,1,37}; W4[58]={'L',0,1,38}; W4[59]={'L',2,3,47}; W4[60]={'L',1,3,54}; W4[61]={'T',2,1,3}; W4[62]={'T',2,1,10}; W4[63]={'T',2,1,15}; W4[64]={'T',2,1,18}; W4[65]={'T',2,1,25}; W4[66]={'T',0,1,29}; W4[67]={'T',0,3,38}; W4[68]={'T',3,2,40}; W4[69]={'T',2,1,47}; W4[70]={'T',3,3,55}; } 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 printw1(int dx,int dy){ for(int i=1;i<=14;i++) printf("%c%d %d %d\n",W1[i].op,W1[i].a,W1[i].x+dx,W1[i].y+dy); }void printh2(int dx,int dy){ for(int i=1;i<=42;i++) printf("%c%d %d %d\n",H2[i].op,H2[i].a,H2[i].x+dx,H2[i].y+dy); }void printw2(int dx,int dy){ for(int i=1;i<=42;i++) printf("%c%d %d %d\n",W2[i].op,W2[i].a,W2[i].x+dx,W2[i].y+dy); }void printh3(int dx,int dy){ for(int i=1;i<=42;i++) printf("%c%d %d %d\n",H3[i].op,H3[i].a,H3[i].x+dx,H3[i].y+dy); }// void printw3(int dx,int dy){ for(int i=1;i<=42;i++) printf("%c%d %d %d\n",W3[i].op,W3[i].a,W3[i].x+dx,W3[i].y+dy); }// void printh4(int dx,int dy){ for(int i=1;i<=70;i++) printf("%c%d %d %d\n",H4[i].op,H4[i].a,H4[i].x+dx,H4[i].y+dy); }// void printw4(int dx,int dy){ for(int i=1;i<=70;i++) printf("%c%d %d %d\n",W4[i].op,W4[i].a,W4[i].x+dx,W4[i].y+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%14==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%14==0&&n%4==0){cout<<"Yes"<<endl; for(int i=0;i<n;i+=4){ for(int j=0;j<m;j+=14){ printw1(i,j); } } } else{ if(n%28==0&&m%2==0){ if(m==2) cout<<"No"<<endl; else{ cout<<"Yes"<<endl; int c4=0,c6=0; c6++; c4=(m-6)/4; for(int i=0;i<n;i+=28){ int o=0; for(int j=1;j<=c6;j++){ printh2(i,o);o+=6; }for(int j=1;j<=c4;j++){ printh1(i,o);printh1(i+14,o);o+=4; } } } }else if(n%2==0&&m%28==0){ if(n==2) cout<<"No"<<endl; else{ cout<<"Yes"<<endl; int c4=0,c6=0; c6++; c4=(n-6)/4; for(int i=0;i<m;i+=28){ int o=0; for(int j=1;j<=c6;j++){ printw2(o,i);o+=6; }for(int j=1;j<=c4;j++){ printw1(o,i);printw1(o,i+14);o+=4; } } } } else{ if(n%56==0&&m>=3){ cout<<"Yes"<<endl; int c3=0,c4=0,c5=0; if(m%3==0) c3=m/3; else if(m%3==1) c4=1,c3=(m-4)/3; else c5=1,c3=(m-5)/3; for(int i=0;i<n;i+=56){ int o=0; for(int j=1;j<=c3;j++){ printh3(i,o);o+=3; }for(int j=1;j<=c4;j++){ printh1(i,o);printh1(i+14,o); printh1(i+28,o); printh1(i+42,o);o+=4; }for(int j=1;j<=c5;j++){ printh4(i,o);o+=5; } } }else if(n>=3&&m%56==0){ cout<<"Yes"<<endl; int c3=0,c4=0,c5=0; if(n%3==0) c3=n/3; else if(n%3==1) c4=1,c3=(n-4)/3; else c5=1,c3=(n-5)/3; for(int i=0;i<m;i+=56){ int o=0; for(int j=1;j<=c3;j++){ printw3(o,i);o+=3; }for(int j=1;j<=c4;j++){ printw1(o,i);printw1(o,i+14); printw1(o,i+28); printw1(o,i+42);o+=4; }for(int j=1;j<=c5;j++){ printw4(o,i);o+=5; } } } else cout<<"No"<<endl; } } } } void slv(){ init();init2();init3(); 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; }