球球各位奆佬,帮孩子把那个红色的块块消掉好吗?
  • 板块灌水区
  • 楼主洛璟
  • 当前回复5
  • 已保存回复5
  • 发布时间2020/10/28 14:31
  • 上次更新2023/11/5 09:40:48
查看原帖
球球各位奆佬,帮孩子把那个红色的块块消掉好吗?
198719
洛璟楼主2020/10/28 14:31

P1166 打保龄球

#include<bits/stdc++.h>
using namespace std;
char c;
int a[3][20];
int ans[20];
bool fg[20];
inline int read()
{
    int s=0,w=1;
    char ch=getchar();
    while(ch<'0'||ch>'9')
    {
        if(ch=='-')w=-1;
        ch=getchar();
    }
    while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
    return s*w;
}
int main()
{
    int n=1,k=0;
    for(int i=1; i<=15; i++)
    {
        a[0][i]=a[1][i]=-1;
    }
    string s;
    getline(cin,s);
    int len=s.length();
    for(int i=0;i<len;i++)
    {
    	c=s[i];
        if(c==' ')
        {
            k=0;
            n++;
            continue;
        }
        if(c=='/')
        {
            a[k][n]=10;
        }
        else
            a[k][n]=c-'0';
        k=k^1;
    }
    if(a[0][n-1]==10 && a[1][n]==-1) fg[n-1]=1;
    if(a[0][n]==10 || a[1][n]==10) fg[n]=1;
    for(int i=1; i<=n; i++)
    {
        if(a[0][i]==10)
        {
            ans[i]=10;
            if(a[1][i+1]==-1) ans[i]+=a[0][i+1]+a[0][i+2];
            else ans[i]+=min(10,a[0][i+1]+a[1][i+1]);
        }
        else if(a[0][i]!=10 && a[1][i]==10)
        {
            ans[i]=10+a[0][i+1];
        }
        else ans[i]=a[0][i]+a[1][i];
    }
    for(int i=1; i<=n; i++)
    {
        if(fg[i]==0)
        {
            printf("%d ",ans[i]);
        }
    }
    printf("\n");
    for(int i=1; i<=n; i++)
    {
        if(fg[i]==0)
        {
            ans[i]+=ans[i-1];
            printf("%d ",ans[i]);
        }
    }
    return 0;
}

2020/10/28 14:31
加载中...