博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
华东交通大学2018年ACM“双基”程序设计竞赛 D
阅读量:5038 次
发布时间:2019-06-12

本文共 2173 字,大约阅读时间需要 7 分钟。

  摸鱼之王MIKU酱想去埃及玩,需要一个人陪同。小新和小磊都想陪MIKU酱一起去,但名额只有一个。所以小磊和小新决定用一个小游戏来决定谁和MIKU酱出去玩。
    游戏的道具是21张塔罗牌,塔罗牌分为大牌和小牌,其中大牌有22张,分别是编号为0的愚者(The Fool)和编号为21的世界(The World)。
给出22张的塔罗牌以及其编号如下:
【0】愚者(The Fool,0)
【1】魔术师(The Magician,I)
【2】女祭司(The High Priestess,II)
【3】皇后(The Empress,III)
【4】皇帝(The Emperor,IV)
【5】教皇(The Hierophant,or the Pope,V)
【6】恋人(The Lovers,VI)
【7】战车(The Chariot,VII)
【8】力量(Strength,VIII)
【9】隐士(The Hermit,IX)
【10】命运之轮(The Wheel of Fate,X)
【11】正义(Justice,XI)
【12】倒吊人(The Hanged Man,XII)
【13】死神(Death,XIII)
【14】节欲(Temperance,XIV)
【15】恶鬼(The Devil ,XV)
【16】塔(The Tower,XVI)
【17】星辰(The Star,XVII)
【18】月亮(The Moon,XVIII)
【19】太阳(The Sun,XIX)
【20】审判(Judgement,XX)
【21】世界(The World,XXI)
    游戏的规则是:将22张塔罗牌打乱,然后分别从中翻开一张卡,两张卡的权值和如果为正数,则小新获胜,如果为负数,则小磊获胜。如果这张卡是正位(即是正向的),那么这张牌的权值就为他的序号,如果是逆位(反向),则权值就为序号的相反数。例如:正位的世界的权值为21,逆位的死神的权值为 -13。因为愚者的正逆位都是0,为了让游戏更有趣,他们附加了一条规则:如果翻出了正位的愚者,那么直接判定小新获胜,如果出现了逆位的愚者,那么小磊获胜。
    大家都不知道,小磊其实具有将时间暂停几十秒的能力。但是小磊并不想用这个能力作弊,他只想在小新翻开牌的瞬间看看他翻到的是什么牌,然后计算自己可能获胜的几率。

输入描述:

多组输入,输入一个数字a(0<=a<=21)和一个数字b(0<=b<=1),a代表小新翻出来的牌的序号,b代表小新翻出卡的位序,b为0则为逆位,为1则为正位,如果输入为"-1 -1",终止输入。

输出描述:

输出格式为:a/b 该分式为最简式。中间的杠为字符“/”。如果结果为0,则输出“owatta”。如果已经获胜(小新的牌为逆位愚者)则输出“1”。
示例1

输入

0 1

输出

owatta
1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #include
13 using namespace std;14 typedef long long ll;15 int a,b;16 int c[2]={ 1,-1};17 int main()18 {19 while(~scanf("%d%d",&a,&b)){20 if(a==-1&&b==-1) break;21 else if(a==0&&b==1){22 printf("owatta\n");23 }24 else if(a==0&&b==0){25 printf("1\n");26 }27 else{28 int ret=0;29 if(b==0) a=-a;30 for(int i=0;i<=21;i++){31 if(i==abs(a)) continue;//不放回32 if(i==0) {33 ret++;//抽到0时的逆位34 continue;35 }36 for(int j=0;j<2;j++){37 if(a+i*c[j]<0) ret++;38 }39 }40 if(ret==0){41 printf("owatta\n");42 }43 else if(ret==42){44 printf("1\n");45 }46 else{47 int g=__gcd(ret,42);48 ret/=g;49 printf("%d/%d\n",ret,42/g);50 }51 }52 }53 return 0;54 }

 

转载于:https://www.cnblogs.com/tingtin/p/9975344.html

你可能感兴趣的文章
数字是否可以被3和5同时整除,use if and % (21.9.2017)
查看>>
Warsaw University Contest Petrozavodsk, Thursday, January 31, 2008 F题,Gym100096F
查看>>
lcx端口转发 linux版
查看>>
arcgis server 10.1 发布动态图层展示海量及频繁更新的数据步骤
查看>>
strncat_s
查看>>
避免复制引用程序集的XML文件
查看>>
C IO(一般性)
查看>>
机器学习中的贝叶斯方法---先验概率、似然函数、后验概率的理解及如何使用贝叶斯进行模型预测(2)...
查看>>
SQL Server 2005 数据库 可疑状态
查看>>
L1-Day4
查看>>
搭建mocha测试环境并使用selenium进行测试
查看>>
Javascript测试之karma + mocha
查看>>
双城记开头
查看>>
烦人的幻灯片问题
查看>>
最大密度子图
查看>>
基于SSM-EasyUI的权限管理系统
查看>>
观察者模式
查看>>
[CSAPP-II] 链接[符号解析和重定位] 静态链接 动态链接 动态链接接口
查看>>
一起啃PRML - 1 Introduction 绪论
查看>>
git 的基本命令
查看>>