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 ...
随机推荐
- linux相关命令整理
三剑客 awk grep sed
- JUnit源码分析 - 扩展 - 自定义RunListener
RunListener简述 JUnit4中的RunListener类用来监听测试执行的各个阶段,由RunNotifier通知测试去运行.RunListener与RunNotifier之间的协作应用的是 ...
- Vue中的~(静态资源处理)
Webpacked 资源 首先要理解webpack是怎样处理静态资源的. 在*.vue组件中,所有的templates和css都会被vue-html-loader 和 css-loader解析,寻找资 ...
- LinkedStack
public class LinkedStack<T> { private static class Node<U>{ U item; Node<U>next; N ...
- pwnable.kr-flag-witeup
嗯,看到提示,需要逆向哦. 欧克,运行flag,看到打印了一句话I will malloc() and strcpy the flag there. take it. IDA看看程序逻辑,shift+ ...
- UEFI EVENT 全解
Event和Timer在UEFI当中是怎么实现的以及原理,我们先从Timer开始,然后细细的拨开隐藏在底层的实现. 先说Timer,那什么是Timer呢?其实在中文里面我们把它叫做定时/计数器,但是我 ...
- Python深拷贝和浅拷贝!
在python中,对象赋值实际上是对象的引用.当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用 一般有三种方法, alist=[1,2,3,[& ...
- xx星空面试题
一面 1.什么是多态 实现原理? 2.什么是重载?class加载原理? 3.常用设计模式,简单介绍 4.看过哪些java的书?android的书? 5.动态注册静态注册 优缺点?静态注册函数如何被调用 ...
- PCB设计基本流程
[PCB设计基本流程]1.准备原理图和网络表2.电路板规划3.参数设置4.导入网标5.布局6.布线7.规则检查与手工调整8.输出文件 [具体步骤]1.在原理图环境下:Tool——>Footpri ...
- jango路由层
简单的路由配置: urls.py from django.contrib import admin from django.urls import path, re_path from book_ap ...