• 问题 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;
    }
    
  • 相关阅读:
    记2008年7月25日午后 心情
    [多媒体]词典编码
    [多媒体]算术编码、游程编码
    [多媒体]数据压缩的类型
    [多媒体]理解PCM、DPCM、APCM、ADPCM
    C++异常处理
    [转]linux上SVN解决冲突的办法
    从海量数据查找有或者没有出现的数据
    八数码问题
    [转]linux中强大的screen命令
  • 原文地址:https://www.cnblogs.com/-yjun/p/10586557.html
Copyright © 2020-2023  润新知