当前位置: 首页 > news >正文

P1166 打保龄球

共可以投 1 局
一局10轮
    在一局中,一共有十个柱,会出现很多种情况。
第1次把10个
   打倒全部   >>
       分数=10+后2次得分 --若是第10轮则还需另加两次滚球;

   没全部打倒 >>
       第2次把剩下的
           打倒   >>
               分数=10+后1次得分
       没全部打倒 >> 
           完蛋/没救了 >>
               分数=共打得分

#include<bits/stdc++.h>
using namespace std;
#define long long long long
inline long long read()
{
    long long x=0;
    char ch=getchar();
    bool f=0;
    for(; !isdigit(ch); ch=getchar()) if(ch=='-') f=1;
    for(; isdigit(ch); ch=getchar()) x=x*10+ch-'0';
    return f?-x:x;
}
void write(long long x)
{
    if(x<0) putchar('-'),x=-x;
    if(x>=10) write(x/10);
    putchar(x%10+'0');
}
void writeln(long long x)
{
    write(x);
    puts("");
}
void writep(long long x)
{
    write(x);
    putchar(' ');
}
int n,cnt,ans,sum[13];
char a[103];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    while(cin>>a[++n]);
    int st=1;
    for(int i=1; i<=10; i++)
    {
        int rest=10,flag=1;
        for(int j=st; j<=st+2; j++)
        {
            if(j>n)
            {
                sum[i]=-1;
                break;
            }
            if(rest==0) rest=10,flag=0;
            if(j==st+2 && flag) break;
            if(a[j]=='/') sum[i]+=rest,rest=0;
            else if(a[j]>='0' && a[j]<='9') sum[i]+=a[j]-'0',rest-=a[j]-'0';
        }
        if(sum[i]==-1) break;
        if(a[st]=='/') st++;
        else st+=2;
        writep(sum[i]);
    }
    puts("");
    for(int i=1; i<=10; i++)
    {
        if(sum[i]==-1) break;
        ans+=sum[i];
        writep(ans);
    }
    return 0;
}
 

#include<bits/stdc++.h>
using namespace std;
#define long long long long
inline long long read()
{long long x=0;char ch=getchar();bool f=0;for(; !isdigit(ch); ch=getchar()) if(ch=='-') f=1;for(; isdigit(ch); ch=getchar()) x=x*10+ch-'0';return f?-x:x;
}
void write(long long x)
{if(x<0) putchar('-'),x=-x;if(x>=10) write(x/10);putchar(x%10+'0');
}
void writeln(long long x)
{write(x);puts("");
}
void writep(long long x)
{write(x);putchar(' ');
}
int n,cnt,ans,sum[13];
char a[103];
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);while(cin>>a[++n]);int st=1;for(int i=1; i<=10; i++){int rest=10,flag=1;for(int j=st; j<=st+2; j++){if(j>n){sum[i]=-1;break;}if(rest==0) rest=10,flag=0;if(j==st+2 && flag) break;if(a[j]=='/') sum[i]+=rest,rest=0;else if(a[j]>='0' && a[j]<='9') sum[i]+=a[j]-'0',rest-=a[j]-'0';}if(sum[i]==-1) break;if(a[st]=='/') st++;else st+=2;writep(sum[i]);}puts("");for(int i=1; i<=10; i++){if(sum[i]==-1) break;ans+=sum[i];writep(ans);}return 0;
}


http://www.mrgr.cn/news/21209.html

相关文章:

  • linux基础IO——重定向原理学习——重定向指令实现、虚拟文件系统
  • 如何确定 npm 依赖需要的 Node.js 版本?
  • 【60天备战软考高级系统架构设计师——第十天:软件设计与架构综合练习】
  • HNU-2023电路与电子学-实验1
  • HTTP协议(超文本传输协议)
  • 四、搭建网站服务器超详细步骤——解决宝塔界面无法登录问题
  • 机器学习:对数据进行降维(PCA和SVD)
  • 【Qt】仿照qq界面的设计
  • 火狐浏览器重置密码后收藏的标签密码等数据被清除
  • 【STM32】CAN总线基础入门
  • 用户认证中的有状态和无状态
  • 【JAVA入门】Day34 - Stream流
  • 监理工程师职业资格考试
  • 黑马点评9——附近商户-GEO数据结构
  • Servlet-学习笔记-下
  • 理解C++全局对象析构顺序与 IPC 资源管理:避免 coredump 的实践
  • windows C++ 并行编程-使用 加速器 对象(下)
  • 硬件-经典开机电路
  • 期货赫兹量化-种群优化算法:进化策略,(μ,λ)-ES 和 (μ+λ)-ES
  • 【数学建模】2024数学建模国赛B题(word论文+matlab):生产过程中的决策问题