华东交通大学2018年ACM“双基”程序设计竞赛 D
游戏的道具是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”。
输出
owatta
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
typedef long long ll;
int a,b;
int c[]={,-};
int main()
{
while(~scanf("%d%d",&a,&b)){
if(a==-&&b==-) break;
else if(a==&&b==){
printf("owatta\n");
}
else if(a==&&b==){
printf("1\n");
}
else{
int ret=;
if(b==) a=-a;
for(int i=;i<=;i++){
if(i==abs(a)) continue;//不放回
if(i==) {
ret++;//抽到0时的逆位
continue;
}
for(int j=;j<;j++){
if(a+i*c[j]<) ret++;
}
}
if(ret==){
printf("owatta\n");
}
else if(ret==){
printf("1\n");
}
else{
int g=__gcd(ret,);
ret/=g;
printf("%d/%d\n",ret,/g);
}
}
}
return ;
}
华东交通大学2018年ACM“双基”程序设计竞赛 D的更多相关文章
- 华东交通大学2018年ACM“双基”程序设计竞赛 C. 公式题 (2) (矩阵快速幂)
题目链接:公式题 (2) 比赛链接:华东交通大学2018年ACM"双基"程序设计竞赛 题目描述 令f(n)=2f(n-1)+3f(n-2)+n,f(1)=1,f(2)=2 令g(n ...
- 华东交通大学2018年ACM“双基”程序设计竞赛部分题解
链接:https://ac.nowcoder.com/acm/contest/221/C来源:牛客网 C-公式题(2) 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...
- 华东交通大学2018年ACM“双基”程序设计竞赛 K
MIKU酱是个玩游戏氪金的人,游戏公司给她制定了新的规则,如果想从关卡i到关卡j,你需要交一些钱就可以了,但同时,MIKU酱的爸爸zjw很爱她,所以她可以每过一关就向她爸要一次钱,但她爸每次给他的钱是 ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1007
Problem Description ACM小学妹在今天的暑假训练结束后,想看球赛放松一下.当他打开电脑时查询到联盟今天直播N场球赛,每场球赛的起止时间(S1,E1),(S2,E2),...,(SN ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1001
Problem Description 输入一个非负的int型整数,是奇数的话输出"ECJTU",是偶数则输出"ACM". Input 多组数据,每组数据输入一 ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1008
Problem Description halfyarn找你写个简单的题?好哒!给你n个整数,现在要求你选择两个位置的数,例如选择第pos_a个数a,和第pos_b个数b,给定ans=min(a,b) ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1005
Problem Description 最近侯ry感觉自己在数学方面的造诣不忍直视:他发现他的学习速率呈一个指数函数递增,疯狂的陷入学习的泥潭,无法自拔:他的队友发现了他的学习速率y=e^(b*lna ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1004
Problem Description LB是个十分喜欢钻研的人,对什么事都要搞明白.有一天他看到一个公式,((a-b)*c+d*e)/f=k.他想如果给定K的值,一共有多少种不同整数的组合(a,b, ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1010
Problem Description LB是个十分喜欢钻研的人,对什么事都要搞明白.有一天他学习到了阶乘,他十分喜欢,所以他在想一个问题.如果给定一个数n,求n!能不能被2016整除.LB算了好久都 ...
随机推荐
- Cause: java.sql.SQLException: 无法转换为内部表示(Mybatis)
公司开发档案系统使用框架:Spring+Struts2+Mybatis+EasyUI,在开发过程中出现sql异常:“Cause: java.sql.SQLException: 无法转换为内部表示”,错 ...
- Js常见算法实现汇总
/*去重*/ <script> function delRepeat(arr){ var newArray=new Array(); var len=arr.length; for(var ...
- 【收藏】这么多WEB组件(CSS),攒一个网站够了吧?
简言 总是喜欢简单又精致的东西,美的不繁复也不张扬.这是闷骚程序员的癖好么?闲来无事,把收集到的部分WEB组件整理汇总一下,攒一个逼格高一点的网站够了吧? 1 表单(form)相关 1.1 输入框(i ...
- cf314E. Sereja and Squares(dp)
题意 题目链接 给你一个擦去了部分左括号和全部右括号的括号序列,括号有25种,用除x之外的小写字母a~z表示.求有多少种合法的括号序列.答案对4294967296取模.合法序列不能相交,如()[],( ...
- 在window下, Java调用执行bat脚本
参考博客: https://www.cnblogs.com/jing1617/p/6430141.html 最近一段时间用到了Java去执行window下的bat脚本, 这里简单记录一下: 我这里是先 ...
- iOS中UIWebview中网页宽度自适应的问题
有的网页中会使用"<meta name="viewport" content="width=device-width, initial-scale=1.0 ...
- ASP.NET中 前后台方法的相互调用
后台调用前台js方法: this.Page.ClientScript.RegisterStartupScript(this.GetType(), "js", "ShowM ...
- ubuntu下JDK安装(更新旧版本JAVA)
1.sudo apt-get install openjdk-8-jre openjdk-8-jdk 2.默认会安装在 路径为 /usr/lib/jvm/java-7-openjdk-amd64 下面 ...
- LeetCode ZigZag Conversion(将字符串排成z字型)
class Solution { public: string convert(string s, int nRows) { string a=""; int len=s.leng ...
- U盘小偷——C++实现U盘插入检测和文件扫描拷贝
前几天女朋友说老师上课的PPT不共享,没法复习,想着写个U盘小偷拷贝PPT来着,后来觉得这样的行为这是不对的,万一不小心复制了老师的专利啥的,或者一些不可描述的东西,就闹大了. 虽然没有采取实际行动, ...