my english is poor

给你一列全部站立的骨牌,同时向左或向右推其中的几个

保证推得方式为: 。。。左,右,左,右,左。。。

即不存在两个相邻的又往相同方向推倒的

刚开始是从左往右一个一个遍历,若第一次推的为往左,将它前面的加起来

再根据 L ,R 判断,累加站立的,还有。。。。太麻烦了

写好程序测试数据正确,提交后WA。。。

有想到用数组记下站立的个数,但不知如何实现。。。

百度一下。。。刚开始看不懂代码。。先提交。。AC。。了

代码如下,注释是我自己的理解

#include<stdio.h>
#include<string.h>
char ch[];
int k[]; //标记数组:1 表示倒下,0 表示站立
int main()
{
int n,i;
scanf("%d",&n);
memset(k,,sizeof(k)); //初始化全部站立
scanf("%s",ch+); //数组 ch 从下标 1 开始
for(i=; i<=n; i++)
{
if(ch[i]=='L') //第 i 个字符为 L ,是往左推的
{
for(int j=i; j>; j--) //往左找
{
k[j]=; //先全部推倒
if(ch[j]=='R') //突然发现前面有个往右推的,不中,不能全推倒
{
if((i-j)%==) //若它们中间的骨牌个数为奇数
k[(i-j)/]=; // 将中间那个骨牌扶起
break; //跳出循环,不往前倒了
}
}
}
if(ch[i]=='R') //第 i 个字符为 R 往右推倒
{
for(int j=i; j<=n; j++) //往右找
{
k[j]=; //也先全推倒
if(ch[j]=='L') //突然发现后面有个往左推的
{
if((j-i)%==) //若它们中间的骨牌个数为奇数
k[(j+i)/]=; //将中间那个骨牌扶起
i=j; //再从后面发现的那个往左推的开始找
break; //跳出循环,不能往后推了
}
}
}
}
int cnt=;
for(i=; i<=n; i++) //推完了,累死我了,放松一下,统计统计几个没有战死沙场的
if(!k[i])
cnt++;
printf("%d\n" ,cnt);
return ;
}

CF - 405B - Domino Effect的更多相关文章

  1. CF 405B Domino Effect(想法题)

    题目链接: 传送门 Domino Effect time limit per test:1 second     memory limit per test:256 megabytes Descrip ...

  2. [ACM_图论] Domino Effect (POJ1135 Dijkstra算法 SSSP 单源最短路算法 中等 模板)

    Description Did you know that you can use domino bones for other things besides playing Dominoes? Ta ...

  3. POJ 1135 Domino Effect(Dijkstra)

    点我看题目 题意 : 一个新的多米诺骨牌游戏,就是这个多米诺骨中有许多关键牌,他们之间由一行普通的骨牌相连接,当一张关键牌倒下的时候,连接这个关键牌的每一行都会倒下,当倒下的行到达没有倒下的关键牌时, ...

  4. POJ 1135 Domino Effect (spfa + 枚举)- from lanshui_Yang

    Description Did you know that you can use domino bones for other things besides playing Dominoes? Ta ...

  5. UVA211-The Domino Effect(dfs)

    Problem UVA211-The Domino Effect Accept:536  Submit:2504 Time Limit: 3000 mSec  Problem Description ...

  6. POJ 1135 Domino Effect (Dijkstra 最短路)

    Domino Effect Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9335   Accepted: 2325 Des ...

  7. POJ 1135.Domino Effect Dijkastra算法

    Domino Effect Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10325   Accepted: 2560 De ...

  8. zoj 1298 Domino Effect (最短路径)

    Domino Effect Time Limit: 2 Seconds      Memory Limit: 65536 KB Did you know that you can use domino ...

  9. TOJ 1883 Domino Effect

    Description Did you know that you can use domino bones for other things besides playing Dominoes? Ta ...

随机推荐

  1. JS的join函数用法

    无意中在网上看到一个关于join比for循环更有效率的说法.虽然不明白为什么,先记一笔. join函数用于数组.返回值为一个字符串.实现的效果就是将数组连成自己想要的字符串,当然是有规律可循的字符串. ...

  2. 使用GDB进行调试

    下面是几篇非常好的GDB使用指南: http://www.cs.cmu.edu/~gilpin/tutorial/ http://oss.org.cn/ossdocs/gnu/linux/gdb.ht ...

  3. Zepto源码

    // Zepto.js // (c) 2010-2016 Thomas Fuchs // Zepto.js may be freely distributed under the MIT licens ...

  4. Android test---monkey

    一.在使用monkey之前,需要用到模拟器,那么怎么启动模拟器呢,先看一下电脑有什么模拟器,通过命令行查看一下 android list avd 二.看到了模拟器列表了,下来就是启动模拟器了.在命令行 ...

  5. 单元测试-NUint最基本使用详解

    花了一上午,熟悉了下NUint的使用,网上找了好久,没有很详细的,全是一段文字一写什么都没了 第一步下载:程序安装   :http://launchpad.net/nunitv2/trunk/2.6. ...

  6. JavaScript(复习总结)

    一.三个常用对话框 1.alert(""):警告对话框,作用是弹出一个警告对话框(最常用) 2.confirm(""):确定对话框,弹出一个带确定和取消按钮的对 ...

  7. 2016.02.14 总结JS事件

    今天主要总结JS事件的基本知识以及使用技巧,并作出相应的DEMO.

  8. 特征工程 dataframe格式

    import os import copy import codecs import operator import re from math import log from pyspark.sql ...

  9. python之路-Day1

    Python 是一门什么样的语言? python是一门动态解释性的强类型定义语言 动态语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量 ...

  10. poj3241 曼哈顿最小距离生成树第k大的边

    思路: 已知: 要生成曼哈顿距离最小生成树,一个点最多和四周8个点连线,那8个点分别是将那个点四周360度平分成8个区间,每个区间里面和那个点曼哈顿距离最小的点,所以如果有n个点,那么最多有4n条边, ...