和TJU1044一样,看懂题目就可以做了。
自己画一个棋盘,找一下规律,剩下的就是一堆的条件判断了。
自己画一个棋盘,找一下规律,剩下的就是一堆的条件判断了。
#include<iostream>
using namespace std;
int Boundary(int num);
int Chess(int line,int row);
int main()
{
char grid[2];
int data,line,row;
cin>>data;
while(data-- >0)
{
cin>>grid;
line=grid[1]-'0';
row=grid[0]-'a'+1;
cout<<Chess(Boundary(line),Boundary(row))<<endl;
}
return 0;
}
int Boundary(int num)
{
if(num>4) return 9-num;
else return num;
}
int Chess(int line,int row)
{
switch(line)
{
case 1:
switch(row)
{
case 1:
return 2;
case 2:
return 3;
default:
return 4;
}
case 2:
switch(row)
{
case 1:
return 3;
case 2:
return 4;
default:
return 6;
}
default:
switch(row)
{
case 1:
return 4;
case 2:
return 6;
default:
return 8;
}
}
}
using namespace std;
int Boundary(int num);
int Chess(int line,int row);
int main()
{
char grid[2];
int data,line,row;
cin>>data;
while(data-- >0)
{
cin>>grid;
line=grid[1]-'0';
row=grid[0]-'a'+1;
cout<<Chess(Boundary(line),Boundary(row))<<endl;
}
return 0;
}
int Boundary(int num)
{
if(num>4) return 9-num;
else return num;
}
int Chess(int line,int row)
{
switch(line)
{
case 1:
switch(row)
{
case 1:
return 2;
case 2:
return 3;
default:
return 4;
}
case 2:
switch(row)
{
case 1:
return 3;
case 2:
return 4;
default:
return 6;
}
default:
switch(row)
{
case 1:
return 4;
case 2:
return 6;
default:
return 8;
}
}
}