zoukankan      html  css  js  c++  java
  • 问题 G: 跳马棋

    题目描述
    重新装修完后,丁总非常兴奋的领着快码佳编四兄弟姐妹去参观他们的游戏。
    他们正在开发一款棋类游戏。这款游戏的规则如下:
    在一个8*8的国际象棋棋盘上,一个玩家用白马,另外一个玩家用黑马。两个玩家交替下棋,白棋先下。在每次下的时候,马从现有位置随机走到一个有效位置。有效位置指的是棋盘里,在某个坐标轴移动2步另外一个坐标轴移动一步(即马的走法)。所有有效位置上能移到是等概率的。当一个棋手将马移到一个对方已经占有的格子上时,该棋手就赢了(俗称吃了对方)。
    为了吸引玩家的兴趣,当马在2个给定的起始位置时,我们就要计算出赢的概率。如果双方赢的概率小于10-6时我们认为是平局。

    输入
    第一行输入2个整数A和B(1<=A,B<=8)代表白马开始的位置
    第二行输入2个整数C和D(1<=C,D<=8)代表黑马开始的位置

    输出
    输出谁有更高概率赢,白赢输出“white”,黑输出“black”,如果是平局,则输出“draw”

    样例输入
    【样例输入1】
    1 1
    4 7
    【样例输入2】
    1 1
    8 8

    样例输出
    【样例输出1】
    white
    【样例输出2】
    black

    题解:abs(x1-x2)+abs(y1-y2)是奇数,white赢 否则 black赢
    证明不会.当时猜的,没想到就直接过了,hhhhhh
    
    #include <bits/stdc++.h>
    using namespace std;
    int main(){
        int x1,x2,y1,y2;
        cin>>x1>>y1>>x2>>y2;
        if((abs(x1-x2)+abs(y1-y2))%2==1) cout<<"white"<<endl;
        else cout<<"black"<<endl;
    }
    
  • 相关阅读:
    金蝶k3 显示BOS序时簿并返回选中的值
    金蝶K3bos插件操作另一张单据
    H2.64的远程回放--开篇
    监控外网访问的几种方式
    ilbc编解码
    windows系统上安装与使用Android NDK r5 (转)
    安卓与PC网络对接实现视频实时播放
    WDR7500 花生壳问题
    要确保任何一次员工的晋升都符合公司的利益
    关于“部门建设”
  • 原文地址:https://www.cnblogs.com/-yjun/p/10586557.html
Copyright © 2011-2022 走看看