《算法竞赛入门经典(第2版)》习题3-1 得分 (Score, ACM/ICPC Seoul 2005, UVa1585)

《算法竞赛入门经典(第2版)》习题3-1 得分 (Score, ACM/ICPC Seoul 2005, UVa1585)

给出一个由O和X组成的串(长度为1-80),统计得分。每个O的得分为目前连续出现的O的个数,X的得分为0。例如:OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3。

分析

设置两个累加值n和sum,分别用于累计当前的字母’O’应得的分数,以及累计总分。
遍历串的每一个字符,若等于’O’,则分别累加n和sum,若不为’O’(即X),则将n置0即可。

代码:

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <time.h>

int main()
{
	int i, j, n=0, sum=0; // n表示当前的'O'应增加的得分,sum累计总分
	char s[100];
	scanf("%s", s);
	for(i=0; i<strlen(s); i++)
	{
		if(s[i]=='O') sum += (++n);
		else n=0;
	}
	printf("%d\n", sum);
	return 0;
}

热门文章

暂无图片
编程学习 ·

如何将PDF转换成jpg图片?教你2种免费方法

如何将PDF格式的文件转换成JPG图片?有时为了方便需要将PDF转成图片来使用,直接截图不仅耗费时间,而且像素很不清晰,有没有其他方便快捷转出高清图片的方法呢? 方法1: 这个方法最方便就在于不用下载安装软件,甚至都不需要注册登录,只要有网络,手机和电脑都能快速操作完…
暂无图片
编程学习 ·

移动开发笔记(四)UI

1.常见控件 属性match_parent 当前控件大小和父布局的大小一样wrap_content 控件的大小能刚好包含里面的内容dp是一种屏幕密度无关的尺寸单位文字大小要使用sp作为单位,用户修改完文字尺寸后,文字大小也会跟着变化 1.1TextView android:gravity来指定文字对齐方式,可选值有…
暂无图片
编程学习 ·

Lower Frame Rate Neural Network Acoustic Models翻译

摘要 最近,使用连续时序分类(CTC)训练的神经网络声学模型被提出,作为传统的交叉熵训练的神经网络声学模型的替代方法,其中,交叉熵方法每10ms输出一帧。与传统模型相反,CTC联合声学模型一起学习对齐,并且除了传统声学状态单元外还输出空白符号。这允许CTC模型以低帧率运…
暂无图片
编程学习 ·

第四天实训:GUI学生信息管理系统

实训目的:主要涉及程序控制结构、面向对象编程、图形用户界面、Java数据库应用、MySQL数据库这几个方面的内容。通过本项目的开发,了解系统开发的一般流程,初步了解MVC模式与单元测试,巩固所学的Java理论知识,提高Java数据库应用编程的基本技能。 项目说明:本系统包括登录…
暂无图片
编程学习 ·

小程序学习之路五:scroll-view实现多列布局

上面讲解了一些部分简单功能,接下来讲讲scroll-view的进阶,实现多列布局,先上效果:首先来看看布局文件<scroll-view class="scroll"><view class="item" wx:for={{datas}} wx:key=index wx:for-item="item" data-item="{{item…
暂无图片
编程学习 ·

V2Pro春季班普遍学撑了,秋季班7月报名你还敢来么

今年V2春季班开班以后,同学们的学习信心保持着高涨,一直维持到了课程结业。今年春季班课程学习的进度在V2.1模块结束以后,我们开始推出了当时号称“加量不加价”的V2Pro增量课程,从DVT Eclipse工具的使用、覆盖率驱动验证管理流程、TBA测试平台自动化初级应用、寄存器一致性…
暂无图片
编程学习 ·

约瑟夫生死小游戏

约瑟夫生者死者小游戏 30 个人在一条船上,超载,需要 15 人下船。 于是人们排成一队,排队的位置即为他们的编号。 报数,从 1 开始,数到 9 的人下船。 如此循环,直到船上仅剩 15 人为止,问都有哪些编号的人下船了呢? # 首先来一个超载的小船30人 people = list(range(1,3…
暂无图片
编程学习 ·

App测试中IOS和安卓测试的区别

一、分辨率的测试 安卓端有20多种,IOS相对就比较少一些 二、操作系统的版本 安卓的操作系统比较多,IOS比较少,而且它只能支持单项升级,不能支持降级。 三、操作习惯的一些不同 安卓习惯点击BACK键,所以我们要测试一下BACK键,看看BACK键是否被重写了。点击BACK键之后,看看…
暂无图片
编程学习 ·

数据结构之查找

【知识框架】一、查找的基本概念 1、查找表 查找表是由同一类的数据元素(或记录)构成的集合。集合中的数据元素之间存在着完全松散的关系,因此查找表是一种非常灵便的数据结构。 2、关键字 关键字是数据结构(或记录)中某个数据项的值,用它可以标识一个数据元素(或记录)…
暂无图片
编程学习 ·

Linux防火墙安装与配置

Linux防火墙安装与配置流程一、iptables构建防火墙应用步骤如下 1、service iptables status 检查是否安装了iptables 2、systemctl stop firewalld 关闭Linux默认防火墙firewalld 3、systemctl mask firewalld 禁用firewalld服务4、y…
暂无图片
编程学习 ·

计算机专业大学生的随感

我想去聚会,想和朋友一起喝酒,但是仔细一想,自己好像没有可以去的聚会,也没有可以陪着自己喝酒的朋友。 懒得在社交上花费时间和精力,那么需要朋友的时候,就只能对着屏幕空感叹。 那几分GPA虽然重要,但真的不至于占用自己那么多时间
暂无图片
编程学习 ·

Vue循环渲染&key的原理

v-for用于循环的数组里面的值可以是对象,也可以是普通元素<ul id="example-1"><!-- 循环结构-遍历数组 item 是我们自己定义的一个名字 代表数组里面的每一项 items对应的是 data中的数组--><li v-for="item in items">{{ item.mess…
暂无图片
编程学习 ·

URI URL URN 的区别

URIUniform Resource Identifier,是一个紧凑的字符串用来标示抽象或物理资源。 包括URL与URNURLUniform Resource Locator,是URI的子集,除了确定一个资源,还提供一种定位该资源的主要访问机制(如其网络“位置”)。 eg: http://www.ietf.org/rfc/rfc2396.txt 让URI能成为URL的…
暂无图片
编程学习 ·

jvm垃圾收集器你学废了吗(二)

前言 前面一篇文章讲了6种垃圾收集器分别是Serial、ParNew、Parallel Scavenge、Serial Old、Parallel Old、CMS(传送门) 今天我们来说一下G1(Garbage First)收集器,为什么把G1收集器单独拿出来说呢?它是垃圾收集器技术发展历史上的里程碑式的成果,下面我们细细道来G1收…
暂无图片
编程学习 ·

标准序列化机制

序列化就是将对象转化为字节流,反序列化就是将字节流转化为对象。1. 基本用法Serializable要让一个类支持序列化,只需要让这个类实现接口 java.io.Serializable,Serializable 没有定义任何方法,只是一个标记接口。比如,对于57节提到的Student类,为支持序列化,可改为:pu…
暂无图片
编程学习 ·

深圳拟重点扶持12大数字经济产业:区块链、金融科技在列

伴随着数字经济的高速增长,深圳市数字经济产业发展迎来政策春风。近日,深圳市工业和信息化局发布了关于公开征求《深圳市数字经济产业创新发展实施方案(征求意见稿)》(下称《实施方案》)意见的通告,表示将努力建成全国领先、全球一流的数字经济产业创新发展引领城市。《实施…
暂无图片
编程学习 ·

CSS hack

CSS hack的目的是使CSS代码兼容不同的浏览器,主要的属性如下所示: _:选择IE6及以下。连接线(中划线)(-)亦可使用,为了避免与某些带中划线的属性混淆,所以使用下划线(_)更为合适; *:选择IE7及以下。(+)与(#)之类的均可使用,不过业界对(*)的认知度更高; \9:…
暂无图片
编程学习 ·

java中InputStream转化为byte[]数组

在commons-io包中org.apache.commons.io.IOUtils类的toByteArray(InputStream input)已经有实现了,我们可以参考下思路,完成我们的方法,我们可以用类似下面的代码实现inputStream转化为byte[]数组public static byte[] toByteArray(InputStream input) throws IOException {Byt…
暂无图片
编程学习 ·

LeetCode 378. 有序矩阵中第K小的元素(二分或者归并)

Description 给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。 请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。 示例:matrix = [[ 1, 5, 9],[10, 11, 13],[12, 13, 15] ], k = 8,返回 13。来源:力扣(LeetCode) 链接:http…