TYVJ1424占卜DIY
Description
初始状态下,所有的牌背面朝上扣下。
流程如下:
1.抽取生命牌中的最上面一张(第一张)。
2.把这张牌翻开,正面朝上,放到牌上的数字所对应编号的堆的最上边。(例如抽到2,正面朝上放到第2堆牌最上面,又比如抽到J,放到第11堆牌最上边,注意是正面朝上放)
3.从刚放了牌的那一堆最底下(最后一张)抽取一张牌,重复第2步。(例如你上次抽了2,放到了第二堆顶部,现在抽第二堆最后一张发现是8,又放到第8堆顶部.........)
4.在抽牌过程中如果抽到K,则称死了一条命,就扔掉K再从第1步开始。
5.当发现四条命都死了以后,统计现在每堆牌上边正面朝上的牌的数目,只要同一数字的牌出现4张正面朝上的牌(比如4个A),则称“开了一对”,当然4个K是不算的。
6.统计一共开了多少对,开了0对称作"极凶",1~2对为“大凶”,3对为“凶”,4~5对为“小凶”,6对为“中庸”,7~8对“小吉”,9对为“吉”,10~11为“大吉”,12为“满堂开花,极吉”。
如果还不明白,就去看样例把。。。
Input
为了便于读入,用0代表10,那么A,J,Q,K(大写)就不用说了吧。。。
Output
Sample Input
8 5 A A
K 5 3 2
9 6 0 6
3 4 3 4
3 4 4 5
5 6 7 6
8 7 7 7
9 9 8 8
9 0 0 0
K J J J
Q A Q K
J Q 2 2
A K Q 2
Sample Output
9
元宵节待在机房刷题,看到难点的就不想写;
那么就来水道模拟题玩玩
大佬点的人可以选择用链表模拟
我本来就懒,这题范围也就这么点,暴力搞搞就好了
代码(长度可以优化,懒得改了,反正都AC了)
#include<cstdio>
int s[][],f[],ans;
char a,b,c,d;
int main()
{
for(int i=;i<=;i++)
{
scanf("%c %c %c %c\n",&a,&b,&c,&d);
if(a>''&&a<='')s[i][]=a-'';
if(b>''&&b<='')s[i][]=b-'';
if(c>''&&c<='')s[i][]=c-'';
if(d>''&&d<='')s[i][]=d-'';
if(a=='A')s[i][]=;
if(b=='A')s[i][]=;
if(c=='A')s[i][]=;
if(d=='A')s[i][]=;
if(a=='J')s[i][]=;
if(b=='J')s[i][]=;
if(c=='J')s[i][]=;
if(d=='J')s[i][]=;
if(a=='Q')s[i][]=;
if(b=='Q')s[i][]=;
if(c=='Q')s[i][]=;
if(d=='Q')s[i][]=;
if(a=='K')s[i][]=;
if(b=='K')s[i][]=;
if(c=='K')s[i][]=;
if(d=='K')s[i][]=;
if(a=='')s[i][]=;
if(b=='')s[i][]=;
if(c=='')s[i][]=;
if(d=='')s[i][]=;
}
scanf("%c %c %c %c",&a,&b,&c,&d);
if(a>''&&a<='')s[][]=a-'';
if(b>''&&b<='')s[][]=b-'';
if(c>''&&c<='')s[][]=c-'';
if(d>''&&d<='')s[][]=d-'';
if(a=='A')s[][]=;
if(b=='A')s[][]=;
if(c=='A')s[][]=;
if(d=='A')s[][]=;
if(a=='J')s[][]=;
if(b=='J')s[][]=;
if(c=='J')s[][]=;
if(d=='J')s[][]=;
if(a=='Q')s[][]=;
if(b=='Q')s[][]=;
if(c=='Q')s[][]=;
if(d=='Q')s[][]=;
if(a=='K')s[][]=;
if(b=='K')s[][]=;
if(c=='K')s[][]=;
if(d=='K')s[][]=;
if(a=='')s[][]=;
if(b=='')s[][]=;
if(c=='')s[][]=;
if(d=='')s[][]=;
while()
{
if(f[]==)break;
int now=s[][];
f[now]++;
for(int i=;i<=;i++)s[][i-]=s[][i];
if(now==)continue;
while()
{
for(int i=;i>=;i--)s[now][i+]=s[now][i];
s[now][]=now;
now=s[now][];
f[now]++;
if(now==)break;
}
}
for(int i=;i<=;i++)if(f[i]==)ans++;
printf("%d",ans);
}
TYVJ1424占卜DIY的更多相关文章
- CH0802 占卜DIY
模拟 没怎么看题..直接deque模拟水过了.. 但是后来回过头看了下题意..如果再次拿到正面朝上的牌,应该是废操作..可能是数据太水了... #include <bits/stdc++.h&g ...
- 占卜DIY
题目地址 Code #include<iostream> #include<vector> #include<map> using namespace std; s ...
- 算法竞赛进阶指南 0x00 基本算法
放在原来这个地方不太方便,影响阅读体验.为了读者能更好的刷题,另起一篇随笔. 0x00 基本算法 0x01 位运算 [题目][64位整数乘法] 知识点:快速幂思想的灵活运用 [题目][最短Hamilt ...
- 从零开始,DIY一个jQuery(1)
从本篇开始会陪大家一起从零开始走一遍 jQuery 的奇妙旅途,在整个系列的实践中,我们会把 jQuery 的主要功能模块都了解和实现一遍. 这会是一段很长的历程,但也会很有意思 —— 作为前端领域的 ...
- [展示]手把手教你如何diy门户幻灯片
第一步后台新建页面:这个就不用说了大家都会 新建后FTP里面会出现如下一个模板页面 第二步从ftp里面下载 template的index.htm文件 给首页模板页面添加JS代码 如下 将这段jS ...
- 用python DIY一个图片转pdf工具并打包成exe
最近因为想要看漫画,无奈下载的漫画是jpg的格式,网上的转换器还没一个好用的,于是乎就打算用python自己DIY一下: 这里主要用了reportlab.开始打算随便写几行,结果为若干坑纠结了挺久,于 ...
- 联想A880 DIY 换触摸屏屏幕
今年初入手的Lenovo A880手机,由于摔坏了屏幕不过能正常显示,咨询了联想的售后,说触摸屏和显示屏是分离的,换触摸屏需要280左右 为发挥DIY的精神,准备自己来处理这个屏幕 第一步:购买屏幕, ...
- 电子爱好者DIY篇
2016/7/15 电子爱好者DIY篇 一年和之前就想到了一些感悟,现在有些模糊的清晰起来了,但还是不够清晰,故写下来做个日志. 结论 首先把结论放在前面.目前随着电子集成电路的发展,电子DIY越来越 ...
- 【DIY】【外壳】木板 & 亚克力 加工
—————————————————————————————————————————————————————————————————————— 一.途径 淘宝 https://item.taobao.c ...
随机推荐
- Mongoose学习(1)
1.Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力 Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对 Entity : 由Mod ...
- 【智能无线小车系列八】在树莓派上使用USB网卡
在这个腾“云”驾“物”(云:云计算,物:物联网)的时代,什么都可以没有,就是不能没有网络,树莓派也离不开它.本章节将详细介绍如何将树莓派接入互联网,因为有一些后期将要使用到的小软件需要联网进行下载和安 ...
- 微信 jssdk 逻辑在 vue 中的运用
微信 jssdk 在 vue 中的简单使用 import wx from 'weixin-js-sdk'; wx.config({ debug: true, appId: '', timestamp: ...
- ubuntu:undefined reference to `snd_pcm_open'
这几天在做一个局域网的对讲机和广播系统. 需要用到alsa的库来进行音频采集和播放. 但是在编译程序的时候有个比较奇怪的问题. undefined reference to `snd_pcm_open ...
- wait()和notify()
从https://www.cnblogs.com/toov5/p/9837373.html 可以看到他的打印是一片一片的,这边博客介绍怎么避免掉 使用notify 和 wait的时候 要注意 是在sy ...
- 安装python解释器
Python目前已支持所有主流操作系统,在Linux,Unix,Mac系统上自带Python环境,在Windows系统上需要安装一下,超简单 打开官网 https://www.python.org/d ...
- poj分类解题报告索引
图论 图论解题报告索引 DFS poj1321 - 棋盘问题 poj1416 - Shredding Company poj2676 - Sudoku poj2488 - A Knight's Jou ...
- BZOJ_2208_[Jsoi2010]连通数_强连通分量+拓扑排序+手写bitset
BZOJ_2208_[Jsoi2010]连通数_强连通分量+拓扑排序+手写bitset Description Input 输入数据第一行是图顶点的数量,一个正整数N. 接下来N行,每行N个字符.第i ...
- codevs 3012 线段覆盖4
传送门 3012 线段覆盖 4 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 黄金 Gold 题目描述 Description 数轴上有n条线段,线段的两端都是整数坐标,坐 ...
- 文件的打开函数第一类--fopen()
fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式); 其中, “文件指针名”必须是被说明为FILE 类型的指针变量: “文件名”是被打开文件的 ...