#include using namespace std; long double dp[2][8][8][8][8]; int dX[] = {2,2, -2,-2,1,-1, 1,-1}; int dY[] = {1,-1,-1,-1,2, 2,-2,-2}; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int x,y,X,Y; queue,pair > >Q; cin>>x>>y>>X>>Y; --x,--y,--X,--Y; dp[0][y][x][Y][X] = 1; Q.push({{x,y},{X,Y}}); long double resW = 0, resB = 0; for(int i = 0; i< 100; ++i) { decltype(Q) newQ; //cout<= 0 && nY < 8 && nX >=0 && nX < 8) { ++ile; } } for(int j = 0; j < 8; ++j) { int nX = x + dX[j]; int nY = y + dY[j]; if(nY >= 0 && nY < 8 && nX >=0 && nX < 8) { bool dodac = dp[n][nY][nX][Y][X] == 0; //cout<<"dp "<= 0 && nY < 8 && nX >=0 && nX < 8) { ++ile; } } for(int j = 0; j < 8; ++j) { int nX = X + dX[j]; int nY = Y + dY[j]; if(nY >= 0 && nY < 8 && nX >=0 && nX < 8) { bool dodac = dp[n][y][x][nY][nX] == 0; dp[n][y][x][nY][nX] += dp[c][y][x][Y][X]/ile; if(dodac) newQ.push({{x,y},{nX,nY}}); } } } dp[c][y][x][Y][X] = 0; } Q = newQ; } //cout<