P1166题解
思路
花了半天去理解题意……意思是说给你一个选手的滚球情况,打出他当前的成绩。简单的说这题就是一个模拟(我才不是因为懒才找模拟题写的)思路也很简单,对每一轮进行以下几个判断就行啦:
- 首先判断有没有在两次滚球之内把 101010 个柱子滚完(判断有没有
/)。 - 如果滚完了(有
/),在下一轮或下下轮找可以加的得分(如果 333 次滚球机会没用完,就不能输出得分)。 - 如果没有滚完(没有
/),判断当前轮有没有滚两次球(字符串长度是否为 222),没有的话同样不能输出成绩。
思路还是很清晰的,下面放上代码:
#include <iostream>
#include <algorithm>
using namespace std;
int ans[15];//记录本轮得分的数组
int ans1[15];//前缀和数组
int flag[15];//标识能否输出答案
string s[15];
int serch(int i){
for(int j=0;j<s[i].size();j++)
{
if(s[i][j]=='/')
return j+1;
}
return 0;
}//判断是否存在'/'
int getnum(int i,int len){
int ans=0;
int k=s[i].size();
for(int j=0;j<min(k,len);j++){//防越界
if(s[i][j]=='/')
ans=10;
else
ans+=(s[i][j]-'0');
}
return ans;
}
int main(){
int len=0;
while(cin>>s[len++]);
for(int i=0;i<10;i++){
int k=3;
if(s[i]=="")
break;
if(serch(i)){
ans[i]+=10;
k-=s[i].size();
if(k>0){
ans[i]+=getnum(i+1,k);
k-=s[i+1].size();
}//加上下次可以得到的分
if(k>0){
ans[i]+=getnum(i+2,k);
k-=s[i+2].size();
}//加上下下次可以得到的分
if(k<=0)flag[i]=1;//可以输出的分
}
else{
ans[i]=getnum(i,s[i].size());
if(s[i].size()==2)
flag[i]=1;
}
}
for(int i=0;i<10;i++){
if(flag[i])
cout<<ans[i]<<" ";
}
cout<<endl;
ans1[0]=ans[0];
for(int i=1;i<10;i++)ans1[i]=ans1[i-1]+ans[i];
for(int i=0;i<10;i++){
if(flag[i])
cout<<ans1[i]<<" ";
}
return 0;//完结撒花!!!
}
P1166题解的更多相关文章
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
- CF100965C题解..
求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...
- JSOI2016R3 瞎BB题解
题意请看absi大爷的blog http://absi2011.is-programmer.com/posts/200920.html http://absi2011.is-programmer.co ...
随机推荐
- Linux glibc自带哈希表的用例及性能测试
今天来看看Linux和一些常见的BSD系统上自带的hashmap. 是的,系统自带的.因为POSIX标准定义了一些常见的数据结构(比如哈希表.二叉搜索树.队列)和算法(比如二分查找和快速排序),这些接 ...
- C# 深度学习框架 TorchSharp 原生训练模型和图像识别-手写数字识别
目录 开始使用 Torch 准备 下载数据集 显示图片 加载数据集 定义网络 优化模型参数 训练模型 保存和加载模型 使用模型识别图片 教程名称:使用 C# 入门深度学习 作者:痴者工良 教程地址:h ...
- Luogu P10842 Piggy and Trees 题解 [ 绿 ] [ 拆边 ] [ 贡献思维 ] [ 组合数学 ]
Piggy and Trees:把路径拆成边的思维题. 思路 一看到这题的路径,就想到了 Luogu P3177 树上染色 这题化路径为边的贡献,分别计算的思维. 那么对于此题,先来观察题目里式子的意 ...
- 【SqlServer主从复制】Sql Server主从复制【完美实践】
目录 [0]环境信息 [0.1]拓扑架构环境 [0.2]实例名与服务器名检查 [1]前置环境配置 [1.1]修改hosts(配置DNS) [1.2]修改防火墙(网络连通性) [1.3]建立复制账户,测 ...
- MES生产制造管理系统-BI看板 MES大屏看板
可视化看板最主要的目的是为了将生产状况透明化,让大家能够快速了解当前的生产状况以及进度,通过大数据汇总分析,为管理层做决策提供数据支撑,看板数据必须达到以下基本要求: 数据准确--真实反映生产情况 数 ...
- AD22 PCB导出Gerber文件详细步骤
PCB绘制好,检查完成后,就可以把文件交给PCB工厂生产了,一般有两种方式: 第一种最简单就是直接将PCB文件压缩打包,发给工厂. 第二种生成Gerber等相关资料,再压缩打包,发给工厂. 这里以AD ...
- MySQL - [17] Oracle、SQLServer、MySQL数据类型对比
题记部分 一.数据类型对比 对应关系 (1)整数类型 Oracle的NUMBER(*,0) 对应 SQL Server的INT 和 MySQL的INT Oracle的BIGINT 可能需要映射到SQL ...
- Selenium WebDriver上创建 WebDriver测试脚本
本文实现一个WebDriver测试脚本,介绍WebDrive的常用命令.UI元素定位的策略以及在脚本中的使用,还有Get命令. 你将学到: 脚本创建 代码走查 测试执行 定位Web元素 ...
- python excel 读取:如何读取符合多个条件的记录【出差、外出、调休、年假】
if 语句结合or 实现:读取所有出差.外出.调休.年假的记录 if '出差' in str(c_cell) or '外出' in str(c_cell) or'调休' in str(c_cell) ...
- 『Plotly实战指南』--架构与设计理念
在数据科学和数据分析领域,数据可视化是理解数据和传达信息的关键环节. Python 作为最受欢迎的编程语言之一,拥有众多强大的可视化库,而 Plotly 无疑是其中的佼佼者. 本文将深入介绍 Plot ...