CSU 1799 小Z的黑白棋

原创 2016年08月28日 16:23:28

题目:

Description

小Z有一些黑白棋,他觉得黑白混杂在一起极具美感,所以他总喜欢将这些棋子排成一排序列S1,但是小Y就喜欢跟小Z作对,她会趁小Z不注意偷偷将小Z最右边的棋子拿走,往他棋子序列的最左边添加一个白色的棋子形成一个新的序列S2来破坏小Z的美感。

S2(1~n) = 白棋+S1(i=1~n-1)

小Z总相信第一感,他认为他自己最初排好的序列S1是最完美的,新的序列S2会造成一定的破坏美感指数 = damage(S1) = S1与S2有多少个位置黑色与白色互不对应

Exp:

令白棋为a,黑棋为b :S1 = ababa  S2=aabab   damage(S1)=4

因为小Z有很多种摆放序列的方式,现在他希望让你帮他求所有摆放序列的方式会造成的damage(S1)的平均值

 

Input

多组数据输入输出

每组数据输入一个整数n和m表示白棋和黑棋的数量 0<=n , m<=1000,000,000 , 保证n+m>=1

Output

每组输出一个平均值答案,用最简分数表示,如果可以化简到整数,就用整数表示

Sample Input

1 1

Sample Output

3/2

这个题目的思想大约就是富比尼原理了。

n个白棋和m个黑棋有C(m+n,n)种排列。

其中,第一个棋子为黑棋的,有C(m+n-1,n)种

第i(i=1,2,3......m+n-1)个棋子和第i+1个棋子颜色不同的,有2*C(m+n-2,n-1)种

2*C(m+n-2,n-1)*(m+n-1)=2*n*C(m+n-1,n)

所以,本题答案是(1+2*n)*C(m+n-1,n)/C(m+n,n)=(1+2*n)*m/(m+n)

代码:

#include<iostream>
#include<stdio.h>
using namespace std;
 
long long gcd(long long a,long long b)
{
    if(b==0)return a;
    return gcd(b,a%b);
}
 
int main()
{
    int m,n;
    long long a,b;
    while(scanf("%d%d",&n,&m)!=EOF)
    {
        a=n+n+1;
        a*=m;
        b=m+n;
        if(a%b==0)printf("%d\n",a/b);
        else  cout<<a/gcd(a,b)<<'/'<<b/gcd(a,b)<<endl;
    }
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

游戏开发(三)——WIN32 黑白棋(三)——游戏画面的现实

这是第三部分:画面的显示 这部分其实就比较简单的,说白了就是api的堆砌。 主要了解下windows的消息机制,以及怎么画图 主要是分别封装了下对棋盘,棋子,以及当前轮到谁,当前比分是多少...

【基于Cocos Creator+Socket.io的联机对战黑白棋(0)】——快期末了还不复习会不会挂科

如题(微笑脸)有一个游戏在我手机里已经住了半年多时间了,她的开场音乐是这样的——deng~deng~deng~deng~deng~deng猜到是什么游戏了么就是皇室战争,每天早上开宝箱都是我睁眼的动力...

P3084 黑白棋游戏

P3084 黑白棋游戏  时间: 1000ms / 空间: 65536KiB / Java类名: Main 描述   黑白棋游戏的棋盘由4×4方格阵列构成。棋盘的每一方格中放...

ACM篇:UVA220黑白棋总结

大概算入门了?反复折腾四小时,还是太嫩了。很纯粹的模拟。需要注意的是输出格式,比如最后一个(i,j)后没有空格,最后一场棋后也无回车,以及输出棋子数量时数字占两位。简单思路。LIST:遍历棋盘,每个点...

黑白棋问题——位运算及广度优先

描述 There is a string which consists 0s and 1s only. Each time you can change one digit, with 0 cha...

黑白棋算法简单实现与基于Qt的GUI编程的综合应用

一、序言:最近学习了Qt的界面编程,包括了QObject、QWidget、QIODevice、QMessageBox、QTcpSockt、QTcpServer、QFile、QFileInfo、QDat...

06 黑白棋

1. 前言这个是在贴吧 看见一个网友写了一个关于五子棋的界面, 然后我也模拟写了一个, 但是后来无趣的时候, 将他改成了黑白棋的规则, 但是没有加入判断胜负的逻辑, 只是一个存在基本规则的界面而已 ...

[BZOJ2281][Sdoi2011]黑白棋(博弈+组合数学)

再在学校呆三天又可以跑出去玩了!

reversi-cli - 跟风做的一个黑白棋小游戏

最近几天听说有一些实训的小伙伴的项目是做一个黑白棋游戏,于是我也跟风去凑个热闹,权当练练手,锻炼一下写个小项目的能力。断断续续做了两天(因为还有比赛),只做好了基本功能,没有来得及学习 AI 方面的东...

bzoj2281 黑白棋 博弈论

这道题目的转化真是巧妙啊。不过据说题目有点问题,那就不管了。首先将第i个白子和第i个黑子组成一对。那么这一对中,白子的左移是没有意义的,黑子的右移也是没有意义的(虽然有反例,但好像只能这样了)。那么每...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)