CodeForces 38B Chess
来源:互联网 发布:mac ape 打开格式 编辑:程序博客网 时间:2024/06/06 03:50
Two chess pieces, a rook and a knight, stand on a standard chessboard 8 × 8 in size. The positions in which they are situated are known. It is guaranteed that none of them beats the other one.
Your task is to find the number of ways to place another knight on the board so that none of the three pieces on the board beat another one. A new piece can only be placed on an empty square.
The first input line contains the description of the rook's position on the board. This description is a line which is 2 in length. Its first symbol is a lower-case Latin letter froma to h, and its second symbol is a number from 1 to 8. The second line contains the description of the knight's position in a similar way. It is guaranteed that their positions do not coincide.
Print a single number which is the required number of ways.
a1b2
44
a8d4
38#include<cstdio>#include<cstring>#include<iostream>using namespace std;int tp[10][10];int dir[8][2]={2,1,2,-1,-2,1,-2,-1,1,2,1,-2,-1,2,-1,-2};int check(int x,int y){ if(x>=1&&x<=8&&y>=1&&y<=8){ return 1; } return 0;}int main(){ char a[4],b[4]; int x1,y1,x2,y2,sum; while(~scanf("%s %s",a,b)){ memset(tp,0,sizeof(0)); sum = 0; x1=a[0]-'a'+1; y1=a[1]-'0'; x2=b[0]-'a'+1; y2=b[1]-'0'; tp[x1][y1]=tp[x2][y2]=1; for(int k=0;k<8;k++){ //马能吃的位置 int x0=x2+dir[k][0]; int y0=y2+dir[k][1]; if(check(x0,y0)){ tp[x0][y0]=2; } } for(int k=0;k<8;k++){ //放马能吃到车的位置 int x0=x1+dir[k][0]; int y0=y1+dir[k][1]; if(check(x0,y0)){ tp[x0][y0] = 2; } } for(int i=1;i<=8;i++){ //车能吃的位置 tp[x1][i]=3; tp[i][y1]=3; } for(int i=1;i<=8;i++){ for(int j=1;j<=8;j++){ if(!tp[i][j]){ sum++; } } } cout<<sum<<endl; } return 0;}
- CodeForces 38B Chess
- codeforces Chess
- Anton and Chess CodeForces
- Codeforces Round #294 (Div. 2) -- A. A and B and Chess
- Codeforces Round #294 (Div. 2) -- A. A and B and Chess
- codeforces #300 D. Weird Chess
- Gerald and Giant Chess (CodeForces
- codeforces 845A Chess Tourney
- Codeforces 845 A Chess Tourney
- codeforces 845A Chess Tourney
- Codeforces 845A Chess Tourney
- codeforces 7A - Kalevitch and Chess
- Codeforces 7A Kalevitch and Chess
- CodeForces 7A Kalevitch and Chess
- Vasya and Chess - CodeForces 493 D 博弈
- codeforces 493D Vasya and Chess(博弈?)
- CodeForces 493D Vasya and Chess
- Codeforces 493D Vasya and Chess(规律)
- maven管理Java web项目WEB-INF/lib中jar包不能被引入的问题解决
- 微信jsapi支付开发遇到的坑
- Web开发技术
- (int&) 和 (int)的区别(转载)
- Bitmap.createBitmap函数有6个重载方法
- CodeForces 38B Chess
- 堆,优先队列以及堆排序
- 不就是一个订票网站吗,12306的核心模型设计思路究竟复杂在哪儿?
- hdu 1879
- Perfect Squares
- PHP面向对象开发,关于调用父类构造器的问题
- 基于layer mobile手机端弹出框,询问框(PC端推荐layer和artDialog:http://download.csdn.net/download/cometwo/9437895)
- iOS将产品进行多语言发布,开发
- 响应式布局基础一:px、dpi、ppi的区别