模拟---LCR
Description
1. A player with no chips is not out of the game, since they may later gain chips based on other players' rolls.
2. A player with only 1 or 2 chips left only rolls 1 or 2 dice, respectively. A player with no chips left does not roll but just passes the dice to the next player.
Your job is to simulate this game given a sequence of dice rolls.
Input
Output
Player 1:c1
Player 2:c2
...
Player n :cn
Center:ct
where c1, c2...cn are the number of chips each player has at the time the simulation ended (either because some player has won or there are no more remaining dice rolls) and ct is the number of chips in the center pile. In addition, if some player has won, you should append the string `(W)' after their chip count; otherwise you should append the string `(*)' after the chip count of the player who is the next to roll. The only blank on any line should come before the game number or the player number. Use a single blank line to separate test cases.
Sample Input
0
Sample Output
Source
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
using namespace std;
char str[];
int flag,tp,center;
int p[]; bool check(int n)
{
for(int k=;k<=n;k++)
{
if(p[k]+center==*n)
{
tp=k;
flag=;
return true;
}
}
return false;
} void moli(int n)
{
int len=strlen(str);
for(int i=;i<len;)
{
if(check(n)) return ;
int t;
if(p[tp]>=) t=;
else t=p[tp];
if(len-i<t)
{
return;
}
for(int j=;j<t;j++)
{
if(str[i]=='L')
{
p[tp]--;
if(tp==n) p[]++;
else p[tp+]++;
}
else if(str[i]=='R')
{
p[tp]--;
if(tp==) p[n]++;
else p[tp-]++;
}
else if(str[i]=='C')
{
p[tp]--;
center++;
}
i++;
}
if(check(n)) return ;
tp++;
if(tp==n+) tp=;
}
while(!p[tp])
{
if(tp==n) tp=;
else tp++;
}
} int main()
{
int n,Case=;
while(scanf("%d",&n)!=EOF&&n)
{
scanf("%s",str);
flag=;
tp=;
center=;
for(int i=;i<;i++)
p[i]=;
moli(n);
if(Case>) printf("\n");
printf("Game %d:\n",Case++);
for(int i=;i<=n;i++)
{
printf("Player %d:%d",i,p[i]);
if(tp==i&&flag) printf("(W)\n");
else if(tp==i&&!flag) printf("(*)\n");
else
printf("\n");
}
printf("Center:%d\n",center);
}
return ;
}
模拟---LCR的更多相关文章
- Gym 100646 Problem C: LCR 模拟题
Problem C: LCR 题目连接: http://codeforces.com/gym/100646/attachments Description LCR is a simple game f ...
- L008之前课程实战模拟。
L008之前课程实战模拟. . 安装CentOS 6.5 X86_64 . 配置网络 . 用CRT连接服务器 . 更换源http://mirrors.163.com/.help/CentOS6-Bas ...
- App开发:模拟服务器数据接口 - MockApi
为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- Python 爬虫模拟登陆知乎
在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...
- HTML 事件(四) 模拟事件操作
本篇主要介绍HTML DOM中事件的模拟操作. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流与事件委托 4. ...
- 模拟AngularJS之依赖注入
一.概述 AngularJS有一经典之处就是依赖注入,对于什么是依赖注入,熟悉spring的同学应该都非常了解了,但,对于前端而言,还是比较新颖的. 依赖注入,简而言之,就是解除硬编码,达到解偶的目的 ...
- webapp应用--模拟电子书翻页效果
前言: 现在移动互联网发展火热,手机上网的用户越来越多,甚至大有超过pc访问的趋势.所以,用web程序做出仿原生效果的移动应用,也变得越来越流行了.这种程序也就是我们常说的单页应用程序,它也有一个英文 ...
- javascript动画系列第一篇——模拟拖拽
× 目录 [1]原理介绍 [2]代码实现 [3]代码优化[4]拖拽冲突[5]IE兼容 前面的话 从本文开始,介绍javascript动画系列.javascript本身是具有原生拖放功能的,但是由于兼容 ...
随机推荐
- (笔记)VC6插件安装--Unable to register this add-in because its DllRegisterServer returns an error
在安装插件(如VC6显示行号的插件VC6LineNumberAddin.dll)的时候经常会提示"Unable to register this add-in because its Dl ...
- Apache+PHP+Mysql 集成环境 几个软件pk
WampServer 2.5 64位 - 工具软件 - 源码之家 2014年8月25日 - WampServer是Apache+PHP+Mysql 集成环境,拥有简单的图形和菜单安装和配置环境.支持2 ...
- Linux设备驱动剖析之Input(四)
static void input_pass_event(struct input_dev *dev, unsigned int type, unsigned int code, int value) ...
- Unity 之 人物换装
http://www.cnblogs.com/mcwind/archive/2011/02/18/1957453.html 原理 一. SkinedMeshRender:该对象负责网格绘制.主要数据 ...
- T-SQL 公用表表达式(CTE)
公用表表达式(CTE) 在编写T-SQL代码时,往往需要临时存储某些结果集.前面我们已经广泛使用和介绍了两种临时存储结果集的方法:临时表和表变量.除此之外,还可以使用公用表表达式的方法.公用表表达式( ...
- __new__ 的简单应用
用__new__与__init__不同,通过继承内建类型对象,__new__可以用来创建一个简单的新类型,在__new__加入一些动作以完成创建. class RoundFloat(float): d ...
- CENTOS 下 编译安装 tesseract-ocr 3.0.4 识别文字
网上搜集了不少资料,发现目前Tesseract转移到了Github上,因此下载方式和以前略有差别,下文是参考了诸位达人(再此表示感谢)和自己的实际操作过程形成的.(1)首先安装依赖的leptonica ...
- WPF RichTextBox设置文本颜色
//追加 txtResult.Document.Blocks.Add(new Paragraph(new Run("add by run") { Foreground = Brus ...
- SQL数据库对于保存特殊字符的解决办法
数据库的Char.Vachar类型可以兼容汉字,但特殊字符不行,在保存包含有特殊字符的字符串.正文时,会将特殊符号替换成一个”?”号. 例如: “基础教育课程手机报•特刊” == > “基础教育 ...
- 【C语言】zz优先队列的实现
做一个题目时,看见解法中使用了优先队列,http://hawstein.com/posts/3.6.html . 颇为好奇,找资料学习了一下,顺便做个摘要. c++的用法: 转自:http://blo ...