CF - 405B - Domino Effect
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的更多相关文章
- CF 405B Domino Effect(想法题)
题目链接: 传送门 Domino Effect time limit per test:1 second memory limit per test:256 megabytes Descrip ...
- [ACM_图论] Domino Effect (POJ1135 Dijkstra算法 SSSP 单源最短路算法 中等 模板)
Description Did you know that you can use domino bones for other things besides playing Dominoes? Ta ...
- POJ 1135 Domino Effect(Dijkstra)
点我看题目 题意 : 一个新的多米诺骨牌游戏,就是这个多米诺骨中有许多关键牌,他们之间由一行普通的骨牌相连接,当一张关键牌倒下的时候,连接这个关键牌的每一行都会倒下,当倒下的行到达没有倒下的关键牌时, ...
- 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 ...
- UVA211-The Domino Effect(dfs)
Problem UVA211-The Domino Effect Accept:536 Submit:2504 Time Limit: 3000 mSec Problem Description ...
- POJ 1135 Domino Effect (Dijkstra 最短路)
Domino Effect Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9335 Accepted: 2325 Des ...
- POJ 1135.Domino Effect Dijkastra算法
Domino Effect Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10325 Accepted: 2560 De ...
- zoj 1298 Domino Effect (最短路径)
Domino Effect Time Limit: 2 Seconds Memory Limit: 65536 KB Did you know that you can use domino ...
- TOJ 1883 Domino Effect
Description Did you know that you can use domino bones for other things besides playing Dominoes? Ta ...
随机推荐
- JS的join函数用法
无意中在网上看到一个关于join比for循环更有效率的说法.虽然不明白为什么,先记一笔. join函数用于数组.返回值为一个字符串.实现的效果就是将数组连成自己想要的字符串,当然是有规律可循的字符串. ...
- 使用GDB进行调试
下面是几篇非常好的GDB使用指南: http://www.cs.cmu.edu/~gilpin/tutorial/ http://oss.org.cn/ossdocs/gnu/linux/gdb.ht ...
- Zepto源码
// Zepto.js // (c) 2010-2016 Thomas Fuchs // Zepto.js may be freely distributed under the MIT licens ...
- Android test---monkey
一.在使用monkey之前,需要用到模拟器,那么怎么启动模拟器呢,先看一下电脑有什么模拟器,通过命令行查看一下 android list avd 二.看到了模拟器列表了,下来就是启动模拟器了.在命令行 ...
- 单元测试-NUint最基本使用详解
花了一上午,熟悉了下NUint的使用,网上找了好久,没有很详细的,全是一段文字一写什么都没了 第一步下载:程序安装 :http://launchpad.net/nunitv2/trunk/2.6. ...
- JavaScript(复习总结)
一.三个常用对话框 1.alert(""):警告对话框,作用是弹出一个警告对话框(最常用) 2.confirm(""):确定对话框,弹出一个带确定和取消按钮的对 ...
- 2016.02.14 总结JS事件
今天主要总结JS事件的基本知识以及使用技巧,并作出相应的DEMO.
- 特征工程 dataframe格式
import os import copy import codecs import operator import re from math import log from pyspark.sql ...
- python之路-Day1
Python 是一门什么样的语言? python是一门动态解释性的强类型定义语言 动态语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量 ...
- poj3241 曼哈顿最小距离生成树第k大的边
思路: 已知: 要生成曼哈顿距离最小生成树,一个点最多和四周8个点连线,那8个点分别是将那个点四周360度平分成8个区间,每个区间里面和那个点曼哈顿距离最小的点,所以如果有n个点,那么最多有4n条边, ...