`
20386053
  • 浏览: 461464 次
文章分类
社区版块
存档分类
最新评论

CodeForces 374 B. Inna and Nine

 
阅读更多


B. Inna and Nine
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Inna loves digit9very much. That's why she asked Dima to write a small number consisting of nines. But Dima must have misunderstood her and he wrote a very large numbera, consisting of digits from1to9.

Inna wants to slightly alter the number Dima wrote so that in the end the number contained as many digits nine as possible. In one move, Inna can choose two adjacent digits in a number which sum equals9and replace them by a single digit9.

For instance, Inna can alter number14545181like this:14545181 → 1945181 → 194519 → 19919. Also, she can use this method to transform number14545181into number19991. Inna will not transform it into149591as she can get numbers19919and19991which contain more digits nine.

Dima is a programmer so he wants to find out how many distinct numbers containing as many digits nine as possible Inna can get from the written number. Help him with this challenging task.

Input

The first line of the input contains integera(1 ≤ a ≤ 10100000). Numberadoesn't have any zeroes.

Output

In a single line print a single integer — the answer to the problem. It is guaranteed that the answer to the problem doesn't exceed263 - 1.

Please, do not use the%lldspecifier to read or write 64-bit integers in С++. It is preferred to use thecin,coutstreams or the%I64dspecifier.

Sample test(s)
Note

Notes to the samples

In the first sample Inna can get the following numbers:369727 → 99727 → 9997,369727 → 99727 → 9979.

In the second sample, Inna can act like this:123456789987654321 → 12396789987654321 → 1239678998769321.


xyxyxy....xy 时有1种变换方法
xyxyxy....xyx 时可以空出任意一个x
#include <iostream>
#include <cstring>
#include <cstdio>
#include <string>

using namespace std;

string a;

int main()
{
    unsigned long long int cnt=1;
    cin>>a;
    unsigned long long int len=a.size();
    unsigned long long int last=1;
    for(int i=0;i<len;i++)
    {
        if(a[i]=='9') continue;
        if(a[i]+a[i+1]==9+2*'0') last++;
        else if(last)
        {
            if(last%2) cnt*=(last+1)/2;
            last=1;
        }
    }
    cout<<cnt<<endl;
    return 0;
}




分享到:
评论

相关推荐

    Codeforces 988 D. Points and Powers of Two(数学+结论)

    《Codeforces 988 D. Points and Powers of Two》是一道融合了数学与算法的编程竞赛题目。问题的核心在于找到一个数组中的子序列,使得其中任意两个元素之间的差值都是2的幂次。目标是找到这样的子序列,其长度尽...

    zhidd#ZXBlog#Codeforces - 1107B. Digital root & 1107C. Brutality

    Codeforces - 1107B. Digital root & 1107C. Brutality(规律 & 贪心)Codeforces - 1107B.

    Codeforces round 678 D2_Codeforces_源码.zip

    Codeforces 是一个知名的在线编程竞赛平台,吸引了众多程序员参与,以提升编程技能和解决算法问题的能力。"Codeforces round 678 D2" 指的是一场特定的编程比赛,其中"D2"可能代表该轮比赛的难度级别或类别,可能是...

    codeforces算法竞赛.zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,...

    (源码)基于Python的Codeforces题目集锦.zip

    # 基于Python的Codeforces题目集锦 ## 项目简介 本项目是一个基于Python的Codeforces题目集锦,旨在通过Python脚本来解决Codeforces平台上的各种算法和数据结构问题。项目包含了多个Python脚本,每个脚本对应一个...

    Codeforces 1333C. Eugene and an array(思维) /详解

    Codeforces Round #632 (Div. 2) C. Eugene and an array 题意: 求出一个数列中子区间满足 此区间的任意子区间之和 不为0的区间个数。 思路: 考虑用dp[x]dp[x]dp[x]记录前缀和为xxx的区间右端点。 那么这道题其实...

    CodeForces-Div.2A

    Watermelon: http://codeforces.com/problemset/problem/4/A 2- 71A. Way Too Long Words: http://codeforces.com/problemset/problem/71/A 3- 118A. String Task: ...

    Codeforces 1305 D. Kuroni and the Celebration (交互题)

    题意: 给出 nnn 个点,n−1n-1n−1 条边,最多询问 n2\frac{n}{2}2n​ 次,每次询问 u,vu,vu,v,会给出 uvuvuv的最近公共祖先,求树的根。 ...操作就是一个删除叶子节点的过程。 AC代码: const int N = 1010;...

    Codeforces 1333 F. Kate and imperfection

    题意: 在集合 S=1,2,⋯,nS={1,2,⋯,n}S=1,2,⋯,n 中,对于每个正整数 kkk ,找出一个大小为 kkk 的子集,使得该子集中两两间最大公因数的最大值最小,求这个最小值。 我们考虑如何构造两两间最大公因数的最大值最小...

    CodeForces1230 F. Konrad and Company Evaluation (复杂度分析)

    如果a嘲讽b,b嘲讽c,那么(a,b,c)是一个三元组 问每次操作之后一共有多少对三元组 数据范围:n,m&lt;=1e5,q&lt;=1e5 三元组图例(未修改工资时): 图中三元组一共4组: 4-&gt;3-&gt;1 4-&gt;3-&gt;2 4-&gt;2-&gt;1 3-&gt;2-&gt;1 解法...

    Codeforces 1083 A. The Fair Nut and the Best Path(树形DP)

    codeforces每日一练。 题意: 给一棵树,每个点有一个点权,每条边有一个边权,求一条链使得点权和-边权和最大。 思路: 由于我没看清楚题意,以为是求联通子图的点权和-边权和最大,用link-cut-tree写换根,wa10了两...

    Educational Codeforces Round 157D. XOR Construction

    Educational Codeforces Round 157D. XOR Construction

    codeforces.dev:codeforces.dev

    codeforces.dev codeforces.dev 这是应用程序的项目模板。 它位于 。 要使用基于此模板创建一个新项目: npx degit sveltejs/template svelte-app cd svelte-app 请注意,您将需要安装 开始吧 安装依赖项... ...

    Codeforces 626 D. Jerry’s Protest(概率DP)

    codeforces每日一练。 题意: 有n张卡片,卡片上的数字就是分数,比如说甲乙两人抽卡,三局两胜,一局得分高的胜,求在甲赢了两局的情况下乙赢了第三局且总分比甲高的概率。 思路: 数据1e3,很明显的On^2算法,所以...

    Codeforces比赛用模板.zip

    Codeforces是一个知名的在线编程竞赛平台,它吸引了众多程序员参与,以提升编程技能和解决实际问题的能力。"Codeforces比赛用模板.zip"是一个压缩包,包含了参赛者在Codeforces平台上进行比赛时可能会用到的源码模板...

    Codeforces 1324 F. Maximum White Subtree (树形dp) /详解

    F. Maximum White Subtree time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output You are given a tree consisting of n vertices. A tree is a connected ...

    Codeforces 1105B - Zuhair and Strings 测试点37个(全) .doc

    这个问题是关于Codeforces平台上的一道编程竞赛题目,编号为1105B,名为"Zuhair and Strings"。从给出的部分内容来看,这是一道处理字符串并计算满足特定条件的子串数量的问题。测试点提供了多个输入和输出示例,...

    Codeforces 721 C. Journey(拓扑排序+DP)

    codeforces每日一练。 题意: 给定n个点,m条有向边,以及k时间。求不超过k时间1-n最多能经过多少个点。 思路: 数据&lt;=5000,说明是个暴力dp。 那么可以用dp[i][j]维护从1到i点经过了j个点,然后初始化为inf,再设...

    简单个人聊天室

    在实现聊天功能时,开发者可能会用到ASP.NET的AJAX(Asynchronous JavaScript and XML)技术,它能实现部分页面刷新,提高用户体验。此外,WebSocket 或 SignalR 可能被用来实现实时通信,这两者都能在客户端和...

    Codeforces 1312 E. Array Shrinking (区间dp)

    E. Array Shrinking time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output You are given an array a1,a2,…,an....Choose a pair of two neighboring equal ...

Global site tag (gtag.js) - Google Analytics