TYVJ1424-占卜DIY
题目有点长,对于样例最好拿张A4纸模拟写一遍。
可以发现程序一定不会死循环,因为每种牌都是4张,而死循环的条件是某种牌有5张然后你拿了又放进去。如果写出来死循环了,那就是写不对了。
有几点可能是需要注意的:
1.A牌就是1,不要把A写成11,然后发现一共56张牌怎么回事。。
2.最好再开个变量nxt记录下一张拿到的牌,只用一个变量记录当前的牌很容易写错又发现不出来。
3.最后统计多少对就是一共有多少牌翻了4次
虽然写了一个早上但幸好是1A,贡献了自己1S~
代码如下:
#include <iostream>
#include <queue>
using namespace std;
typedef long long ll; deque<char> que[];
char now,nxt;
int vis[][],k,hath[];
void print()
{
for(int i=;i<=;++i){
for(int j=;j<;++j)
cout<<que[i][j]<<' ';
cout<<endl;
}
cout<<"******"<<endl;
}
int main() {
for(int i=; i<=; ++i)
for(int j=; j<; ++j) {
char x;
cin>>x;
que[i].push_back(x);
}
while(k<) {
now=que[][k];
nxt='^';
while(now!='K') {
//vis[now-'0'][now-'0']=1;
//cout<<now<<' '<<nxt<<endl;
switch(now) {
case 'A':
que[].push_front(now);
hath[]++;
nxt=que[].back();
que[].pop_back();
break;
case 'J':
que[].push_front(now);
hath[]++;
nxt=que[].back();
que[].pop_back();
break;
case 'Q':
que[].push_front(now);
hath[]++;
nxt=que[].back();
que[].pop_back();
break; case '':
que[].push_front(now);
hath[]++;
nxt=que[].back();
que[].pop_back();
break;
default:
que[now-''].push_front(now);
hath[now-'']++;
nxt=que[now-''].back();
que[now-''].pop_back();
break;
}
now=nxt;
}
//cout<<"***"<<k+1<<endl;
//print();
++k;
}
int ans=;
for(int i=;i<=;++i)
ans+=hath[i]==;
cout<<ans<<endl; return ;
}
TYVJ1424-占卜DIY的更多相关文章
- TYVJ1424占卜DIY
Description lyd学会了使用扑克DIY占卜.方法如下:一副去掉大小王的扑克共52张,打乱后均分为13堆,编号1~13,每堆4张,其中第13堆称作“生命牌”,也就是说你有4条命.这里边,4张 ...
- 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 ...
随机推荐
- 第九篇 Flask 中的蓝图(BluePrint)
第九篇 Flask 中的蓝图(BluePrint) 蓝图,听起来就是一个很宏伟的东西 在Flask中的蓝图 blueprint 也是非常宏伟的 它的作用就是将 功能 与 主服务 分开怎么理解呢? ...
- Unity2018.3全新Prefab预制件系统深入介绍视频教程+PPT+Demo源码
Unity在2018.3推出了重新设计的Prefab预制件系统.这一全新的设计终于为一个长达十年的问题画上了完美的句号, 这个问题就是:“什么时候Unity可以提供嵌套式的预制件系统,俗称Nested ...
- 20175126《Java程序设计》第六周学习总结
# 20175126 2016-2017-2 <Java程序设计>第五周学习总结 ## 教材学习内容总结 - 本周学习方式主要为手动敲代码并理解内容学习. - 学习内容为教材第七章第十章, ...
- Centos 6.5使用vsftpd配置FTP服务器教程
Centos 6.5使用vsftpd配置FTP服务器教程什么是vsftpd vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序.特点是小巧轻快,安全易用.vsftpd 的名字代表”ver ...
- jsp3
普通传值: a1.jsp <form action="a2.jsp" method="post"> 用户名:<input type=" ...
- 天坑!c++调用python,遭遇R6034问题
起源: AllMyTube下载核心,是c#组件调用c++dll,在dll中初始化Python运行环境.在工作目录有msvcr90.dll文件时,程序运行会弹出如下错误: R6034. -------- ...
- 不常用但是很实用的css记录
本文主旨是记录一些不常用但是非常炫酷的css属性,提升用户体验的捷径之一. 1.background-attachment 滚动视差 https://codepen.io/Chokcoco/p ...
- 获取txt md5值上传文件完整性校验
网络上传文件到服务器 做md5 校对.判断文件是否破坏 首先求txt文件的md5值 ,1万条数据 求出的值 文件MD5:e5467b6a8e3c26af8c5af0bda3739280 服务器处理程序 ...
- Windows10开机pin界面循环重启解决办法
昨天电脑在开机时,进入pin界面,输入pin码之后系统没反应,也不显示登陆成功,大概一分钟之后自动重启,遂百度答案:大部分建议都是在开机显示win图标时强制关机,强制关机两次即自动进入疑难解答页面,以 ...
- 快速排序的两种实现方法(js)
快速排序的基本思想:通过一趟排序,将待排记录分割成独立的两部分,其中一部分记录的关键字均比另外一部分记录的关键字小,则可分别对着两部分记录继续进行排序,以达到整个序列有序的目的.----------- ...