到CF上,提交(我没账号):
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
#define c(x) cout<<x<<endl;
int main(){
int n,m;
cin>>n>>m;
if(n<3||m<3){
cout<<0<<endl;
for(int i=1;i<=n;i++,cout<<endl)
for(int j=1;j<=m;j++) cout<<'.';
}
if(n==3&&m==3){
c("1");
c("AAA");
c(".A.");
c(".A.");
}
if(n==3&&m==4){
c("1");
c("AAA.");
c(".A..");
c(".A..");
}
if(n==3&&m==5){
c("2");
c("AAAB.");
c(".A.B.");
c(".ABBB");
}
if(n==3&&m==6){
c("2");
c("AAAB..");
c(".A.B..");
c(".ABBB.");
}
if(n==3&&m==7){
c("3");
c("AAABCCC");
c(".A.B.C.");
c(".ABBBC.");
}
if(n==3&&m==8){
c("3");
c("AAABCCC.");
c(".A.B.C..");
c(".ABBBC..");
}
if(n==3&&m==9){
c("4");
c("AAABCCCD.");
c(".A.B.C.D.");
c(".ABBBCDDD");
}
if(n==4&&m==3){
c("1");
c("AAA");
c(".A.");
c(".A.");
c("...");
}
if(n==4&&m==4){
c("2");
c("AAA.");
c(".AB.");
c(".AB.");
c(".BBB");
}
if(n==4&&m==5){
c("2");
c("AAA..");
c(".ABBB");
c(".A.B.");
c("...B.");
}
if(n==4&&m==6){
c("3");
c("AAA...");
c(".AB..C");
c(".ABCCC");
c(".BBB.C");
}
if(n==4&&m==7){
c("4");
c("AAACCC.");
c(".AB.CD.");
c(".AB.CD.");
c(".BBBDDD");
}
if(n==4&&m==8){
c("4");
c("AAACCC..");
c(".AB.CD..");
c(".AB.CD..");
c(".BBBDDD.");
}
if(n==4&&m==9){
c("5");
c("AAACCCDDD");
c(".AB.CE.D.");
c(".AB.CE.D.");
c(".BBBEEE..");
}
if(n==5&&m==3){
c("1");
c("AAA");
c(".A.");
c(".A.");
c("...");
c("...");
}
if(n==5&&m==4){
c("2");
c("AAA.");
c(".AB.");
c(".AB.");
c(".BBB");
c("....");
}
if(n==5&&m==5){
c("4");
c("AAA.B");
c(".ABBB");
c("CA.DB");
c("CCCD.");
c("C.DDD");
}
if(n==5&&m==6){
c("4");
c("AAABBB");
c(".A..B.");
c("CA..BD");
c("CCCDDD");
c("C....D");
}
if(n==5&&m==7){
c("5");
c("AAABCCC");
c(".A.B.C.");
c("DABBBCE");
c("DDD.EEE");
c("D.....E");
}
if(n==5&&m==8){
c("6");
c("AAABBB.C");
c(".A..BCCC");
c("DA.FB.EC");
c("DDDFFFE.");
c("D..F.EEE");
}
if(n==5&&m==9){
c("6");
c("AAABCCC.D");
c(".A.B.CDDD");
c("EABBBCF.D");
c("EEE...FFF");
c("E.....F..");
}
if(n==6&&m==3){
c("2");
c("AAA");
c(".A.");
c(".A.");
c("BBB");
c(".B.");
c(".B.");
}
if(n==6&&m==4){
c("3");
c("AAA.");
c(".A..");
c(".A.C");
c("BCCC");
c("BBBC");
c("B...");
}
if(n==6&&m==5){
c("4");
c("AAA.B");
c(".ABBB");
c("CA.DB");
c("CCCD.");
c("C.DDD");
c(".....");
}
if(n==6&&m==6){
c("4");
c("AAABBB");
c(".A..B.");
c("DA..BE");
c("DDDEEE");
c("D....E");
c("......");
}
if(n==6&&m==7){
c("5");
c("AAABBB.");
c(".A..B..");
c("CA..B.D");
c("CCCEDDD");
c("C..E..D");
c("..EEE..");
}
if(n==6&&m==8){
c("6");
c("AAABBB.C");
c(".A..BCCC");
c("DA..B.EC");
c("DDDFEEE.");
c("D..F..E.");
c("..FFF...");
}
if(n==6&&m==9){
c("6");
c("AAA.BCCC.");
c(".ABBB.CD.");
c("EA.FB.CD.");
c("EEEFFFDDD");
c("E..F.....");
c(".........");
}
if(n==7&&m==3){
c("2");
c("AAA");
c(".A.");
c(".A.");
c("BBB");
c(".B.");
c(".B.");
c("...");
}
if(n==7&&m==4){
c("3");
c("AAA.");
c(".A..");
c(".A.B");
c("CBBB");
c("CCCB");
c("C...");
c("....");
}
if(n==7&&m==5){
c("5");
c("AAA.B");
c(".ABBB");
c("CA.DB");
c("CCCD.");
c("CEDDD");
c(".E...");
c("EEE..");
}
if(n==7&&m==6){
c("6");
c("AAABBB");
c(".A..B.");
c("DA..BC");
c("DDDCCC");
c("DE..FC");
c(".E..F.");
c("EEEFFF");
}
if(n==7&&m==7){
c("7");
c("AAA.B..");
c(".ABBBC.");
c("DA.EBC.");
c("DDDECCC");
c("DFEEEG.");
c(".F...G.");
c("FFF.GGG");
}
if(n==7&&m==8){
c("8");
c("AAA.BCCC");
c(".ABBB.C.");
c("DA..B.CE");
c("DDDH.EEE");
c("DF.H..GE");
c(".FHHH.G.");
c("FFF..GGG");
}
if(n==7&&m==9){
c("8");
c("AAA.BCCC.");
c(".ABBB.C..");
c("EA.FB.C.D");
c("EEEF..DDD");
c("EGFFFH.ID");
c(".G.HHH.I.");
c("GGG..HIII");
}
if(n==8&&m==3){
c("2");
c("AAA");
c(".A.");
c(".A.");
c("BBB");
c(".B.");
c(".B.");
c("...");
c("...");
}
if(n==8&&m==4){
c("4");
c("AAA.");
c(".AB.");
c(".AB.");
c("CBBB");
c("CCCD");
c("CDDD");
c("...D");
c("....");
}
if(n==8&&m==5){
c("6");
c("AAA.B");
c(".ABBB");
c("CA.DB");
c("CCCD.");
c("CEDDD");
c(".EEEF");
c(".EFFF");
c("....F");
}
if(n==8&&m==6){
c("6");
c("AAA.B.");
c(".ABBB.");
c(".AD.BC");
c("..DCCC");
c("EDDD.C");
c("EEEF..");
c("E..F..");
c("..FFF.");
}
if(n==8&&m==7){
c("7");
c("AAABBB.");
c(".A..B..");
c("DA.EB.C");
c("DDDECCC");
c("DFEEEGC");
c(".FFF.G.");
c(".F..GGG");
c(".......");
}
if(n==8&&m==8){
c("9");
c("AAABBB.C");
c(".A..BCCC");
c("DA.EBF.C");
c("DDDE.FFF");
c("DGEEEF.H");
c(".GGGIHHH");
c(".G..I..H");
c("...III..");
}
if(n==8&&m==9){
c("11");
c("AAABBBCCC");
c(".A..B..C.");
c("DA.EBF.C.");
c("DDDE.FFF.");
c("DHEEEGIII");
c(".H.J..KI.");
c("HHHJ..KI.");
c("..JJJKKK.");
}
if(n==9&&m==3){
c("3");
c("AAA");
c(".A.");
c(".A.");
c("BBB");
c(".B.");
c(".B.");
c("CCC");
c(".C.");
c(".C");
}
if(n==9&&m==4){
c("5");
c("AAA.");
c(".AB.");
c(".AB.");
c("CBBB");
c("CCCD");
c("CDDD");
c("..ED");
c("..E.");
c(".EEE");
}
if(n==9&&m==5){
c("7");
c("AAA.B");
c(".ABBB");
c("CA.DB");
c("CCCD.");
c("CEDDD");
c(".EEEF");
c("GEFFF");
c("GGG.F");
c("G....");
}
if(n==9&&m==6){
c("7");
c("AAABBB");
c(".A..B.");
c("CA..BD");
c("CCCDDD");
c("CEFFFD");
c(".E.F..");
c("EEEF.G");
c("...GGG");
c(".....G");
}
if(n==9&&m==7){
c("10");
c("AAA.B..");
c(".ABBBC.");
c("DA.EBC.");
c("DDDECCC");
c("DFEEE.G");
c(".FFFGGG");
c("HFIIIJG");
c("HHHI.J.");
c("H..IJJJ");
}
if(n==9&&m==8){
c("11");
c("AAA.BCCC");
c(".ABBB.C.");
c("EA.FB.CD");
c("EEEF.DDD");
c("EGFFFH.D");
c(".GIIIHHH");
c("GGGIKH.J");
c("...IKJJJ");
c("...KKK.J");
}
if(n==9&&m==9){
c("12");
c("AAA.BCCC.");
c(".ABBB.C..");
c("EA.FB.C.D");
c("EEEF.GDDD");
c("E.FFFGGGD");
c("HHHJ.GKKK");
c(".HIJJJLK.");
c(".HIJ..LK.");
c(".III.LLL.");
}
return 0;
}