原题及翻译

There is an objective test result such as “OOXXOXXOOO”.
有一个客观的测试结果,比如“ooxxoxoo”。
An ‘O’ means a correct answer of a problem and an ‘X’ means a wrong answer.
“O”表示问题的正确答案,“X”表示错误答案。
The score of each problem of this test is calculated by itself and its just previous consecutive ‘O’s only when the answer is correct.
这个测试中每个问题的分数都是由它自己计算的,只有当答案正确时,它才是前一个连续的“O”。
For example, the score of the 10th problem is 3 that is obtained by itself and its two previous consecutive ‘O’s.
例如,第10个问题的分数是3,这是由它自己及其前两个连续的“o”得到的。
Therefore, the score of “OOXXOXXOOO” is 10 which is calculated by “1+2+0+0+1+0+0+1+2+3”.
因此,“ooxxoxxooo”的得分为10,按“1+2+0+0+1+0+0+1+2+3”计算。
You are to write a program calculating the scores of test results.
你要写一个计算考试成绩的程序。

Input

输入
Your program is to read from standard input.
您的程序将从标准输入中读取。
The input consists of T test cases.
输入由T测试用例组成。
The number of test cases T is given in the first line of the input.
测试用例数t在输入的第一行给出。
Each test case starts with a line containing a string composed by ‘O’ and ‘X’ and the length of the string is more than 0 and less than 80.
每个测试用例以一行开始,该行包含由“o”和“x”组成的字符串,字符串长度大于0小于80。
There is no spaces between ‘O’ and ‘X’.
“o”和“x”之间没有空格。

Output

输出
Your program is to write to standard output.
您的程序将写入标准输出。
Print exactly one line for each test case. The line is to contain the score of the test case.
每个测试用例只打印一行。该行包含测试用例的得分。

Sample Input

5
OOXXOXXOOO
OOXXOOXXOO
OXOXOXOXOXOXOX
OOOOOOOOOO
OOOOXOOOOXOOOOX

Sample Output

10
9
7
55
30

思路

使用数组把所有的测试用例读入,然后处理。

代码

#include <stdio.h>
#include <string.h>
int main ()
{int n;scanf("%d",&n);char a[n][80];int b[n][80],sum[n];memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(sum,0,sizeof(sum));for(int i=0;i<n;i++){scanf("%s",a[i]);int lena=strlen(a[i]),index=0;;for(int j=0;j<lena;j++){if(a[i][j]=='X') {b[i][j]=0;index=0;}if(a[i][j]=='O') b[i][j]=++index;sum[i]+=b[i][j];}printf("%d\n",sum[i]);}return 0;
}

每天磕一道ACM打卡

难以置信的事实,ACM居然也有这么简单的题。

《算法竞赛入门经典》习题3-1 得分(Score,ACM、ICPC Seoul 2005,UVa1585)相关推荐

  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. 输入样例 5 OO ...

  2. 算法竞赛入门经典 习题3-2 分子量 Molar Mass

    给出一种物质的分子式(不带括号),求其分子量.本题分子式中只包含四种原子,分别为C.H.O.N,原子量分别为12.01,1.008,16.00,14.01.例如,C6H5OH的分子量为94.108g/ ...

  3. 算法竞赛入门经典|习题3-8, 循环小数(UVa202)

    耗时:1小时22分. 储备知识: 1.循环节 如果无限小数点后,从某一位起向右进行到某一位止的数字循环出现,首位衔接,则称这个小数为循环小数,这段数字为循环节. 例如: 547/7 = 78.(142 ...

  4. UVa 220 黑白棋 算法竞赛入门经典 习题4-3

    输出格式输出格式输出格式!UVaOJ的输出控制让我想起了玩黑魂时的感觉. 这道题难点在M操作后的输出 "Black - " 一眼看去'-'后面是两个个空格,然而事实是-与后面的数字 ...

  5. 算法竞赛入门经典 习题6-14

    UVa12118 Inspector's Dilemma 每两个城市之间都有道路连通,检查员要通过指定的道路,途中可以经过其它未指定的道路.通过每条道路的时间是一样的,求出通过所有指定道路要花费的最小 ...

  6. 算法竞赛入门经典 习题6-12

    UVa810 A Dicey Problem 一个迷宫里有一骰子,骰子可以上下左右移动的条件是相邻格中的数字和骰子朝上面的数字相同,或者相邻格子中为*.求一条从起点出发,最终回到起点的路径. 深搜和广 ...

  7. 算法竞赛入门经典第3章

    3.1数组 数组较大 比较大的数组尽量声明在main函数外,否则程序可能无法进行. 数组操作 如果要从数组a复制k个元素到数组b,可以这样做:memcpy(b,a,sizeof(int)*k).  如 ...

  8. 刘汝佳《算法竞赛入门经典(第二版)》习题(三)

    刘汝佳<算法竞赛入门经典(第二版)>第三章习题(一) 习题3-1 得分(ACM/ICPC Seoul 2005,UVa1585) 给出一个由O和X组成的串(长度为1~80),统计得分.每个 ...

  9. 算法竞赛入门经典(第二版)第三章习题

    声明:作者水平有限,只是会基础C语言的小菜,C++还未入门.作者仅根据算法竞赛入门经典(第二版)书上第三章习题所述题意而编写,并未严格按照原题的输入输出编写,代码仅经过个人测试(OJ网站太慢了).代码 ...

  10. 刘汝佳《算法竞赛入门经典(第二版)》习题(六)

    刘汝佳<算法竞赛入门经典(第二版)>第四章习题(4-1~4-3) 习题4-1 象棋(Xiangai,ACM/ICPC Fuzhou 2011,UVa1589) 考虑一个象棋残局,其中红方有 ...

最新文章

  1. Java 正则表达式验证小结
  2. cross_val_score,cross_val_predict,cross_validate理解
  3. python 十六进制转中文_Python中十六进制数组到十进制的转换
  4. 关于类DOTA游戏多样化技能系统的设计思考
  5. servlet中servletContext的五大作用(一)
  6. Bootstrap 媒体对象
  7. python自动测试a_python自动化单元测试
  8. 将Excel文件数据导入到SqlServer数据库的三种方案
  9. linux内存源码分析 - 伙伴系统(初始化和申请页框)
  10. 软碟通UltraISO刻录系统启动光盘使用教程
  11. 《深入理解Windows操作系统》笔记5
  12. 2.16 自定义快速访问工具栏以提升工作效率 [原创Excel教程]
  13. A1 A2 B1 B2 英语分级单词 汇总
  14. VS2015安装(windows10+64)
  15. 日语——动词的各种变形
  16. Java网课笔记整理
  17. uni-app 使用 Uview2.x 搭建自定义tabbar组件
  18. VN.PY量化框架创始人教你做量化交易
  19. 前端面试笔试错题指南(二)
  20. 容器化技术与微服务结合---docker(一)

热门文章

  1. Integration testing
  2. epoll实现压测工具
  3. css盒模型中子元素垂直方向上总高度与父元素height的关系
  4. 『收集』体验微软ImageX 玩转系统映像文件
  5. python替代技术,Python超级方法和调用替代品
  6. oracle11g 隐藏参数_oracle隐含参数的查看与修改
  7. 最早的电子计算机艾尔妮,这些看似没用的NPC 却是我们最早的回忆
  8. Java黑皮书课后题第3章:3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面。随即产生一个整数0或1,分别表示
  9. OpenCV C++ 10 - Invert Images
  10. 170304 地铁修建 ccf