J : 压死骆驼的最后一根稻草

Progress Bar

时间限制:1 Sec 内存限制:128 MiB
提交:179 答案正确:34

题目描述

每个人 都有自己独有的计数方式  比如以下  字符串111123455可以表示为4个1,1个2,1个3,1个4,2个5.为了方便记忆就表示为4--1,1--2,1--3,1--4,2--5当然顺序肯定不能变换  计数方式可以表示为“a--b”的形式  在计数方式中相连的b互不相等且a与b不为0   独有的计数方式 如果转化为字符串  字符串的长度小于10的9次方

给你下面的计数方式    例如5--4也就是字符串44444,10--4也就是字符串4444444444

给你这样的计数方式  判断这个字符串中有多少连续子串所构成的整数是4的倍数

例如5--4可表示为字符串44444里面共有(4,4,4,4,4,44,44,44,44,444,444,444,4444,4444,44444)15个是4的倍数;

输入

第一行是数字T(T<1000)

每一行一个独有的计数方式  长度小于100

输出

输出字符串中有多少个是4的倍数  占一行

样例输入

复制
4
5--4
1--1,1--2
2--4,2--2,2--3
1--4,1--3,1--2,1--1

样例输出

复制
15
1
3
3
打表查一下4的倍数的数字会发现规律,对于个位数,只有4/8是4的倍数,对于多位数,如果个位是奇数那他不可能是4的倍数,如果  个位数是0/4/8,那十位数只有是偶数,这个数才是4的倍数;如果个位数是2/6那么十位数只有是奇数这个数才是4的倍数。知道规律就简单了,记录下pre表示前面几段有多少个数字,枚举一下当前段的数字,奇数不管,2/6就加上pre,4/8根据前面的数的奇偶性分情况讨论一下。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define LL long long
#define uint unsigned intLL a[110],b[110];
char s[110];
int main()
{int i,j,k,t;scanf("%d",&t);getchar();while(t--){int tot=0;gets(s);LL ans=0,pre=0;LL n=strlen(s),tmp=0;s[n]=',';for(i=0;i<=n;++i){if(isdigit(s[i])){tmp=tmp*10+(s[i]-'0');}else if(s[i]=='-'){i++;tot++;a[tot]=tmp;tmp=0;}else if(s[i]==','){b[tot]=tmp;tmp=0;}}for(i=1;i<=tot;++i){if(b[i]==2||b[i]==6){if(b[i-1]%2==1){ans+=pre;}}else if(b[i]==4||b[i]==8){if(b[i-1]%2==0){ans+=a[i]*(pre+pre+a[i]+1)/2;}else{ans+=a[i]*(pre+pre+a[i]+1)/2;ans=ans-pre;}}pre+=a[i];}cout<<ans<<endl;}return 0;
}

转载于:https://www.cnblogs.com/yi-ye-zhi-qiu/p/9065278.html

ZZNU 压死骆驼的最后一根稻草 规律题相关推荐

  1. 2049 : 压死骆驼的最后一根稻草 (规律)

    I got that power 题目描述 每个人 都有自己独有的计数方式 比如以下 字符串111123455可以表示为4个1,1个2,1个3,1个4,2个5.为了方便记忆就表示为4–1,1–2,1– ...

  2. 2049 :压死骆驼的最后一根稻草 (模拟)

    每个人 都有自己独有的计数方式  比如以下  字符串111123455可以表示为4个1,1个2,1个3,1个4,2个5.为了方便记忆就表示为4--1,1--2,1--3,1--4,2--5当然顺序肯定 ...

  3. 压死骆驼的最后一根稻草——写下自己的阶段感受与总结

    感觉是应该写点东西了,这段时间一直在疑惑,关于考研的问题,其实心里也明白,只要自己实力强,到哪都有希望,不过毕竟想有个更好 的平台,更好的学校罢了,最近在浏览一些牛人的百科时,总是会很留意的看下是哪所 ...

  4. UI设计——最后一根稻草

    WindowsLive提供的本地地图服务看起来挺简单的,但其实非常难用: 跟其他人一样,每当我接触到一个新的地图服务,我做的第一件事总是拿当前的地址去试一试.我在上面输入的是我工作的地方.但是,当我敲 ...

  5. 3.一根稻草可能会压死一头牛

    一次,一位记者朋友跟我约好,下午四点钟在我办公室见面,谈点儿事情. 到了约定的时间,她没来.过了一刻钟,她出现在我办公室门口,神色慌张,满头大汗,连声说对不起.我看出她有很深的自责. 谈完预约的事情后 ...

  6. MVP群聊某美国公司的应聘试题(压死九个还是一个)

    某美国公司的应聘试题(压死九个还是一个),测试你的管理方式有二条铁轨,一条新的,一条旧的.有了新铁轨后,旧铁轨不再有火车通过.有一天有十个小孩到铁轨上玩耍,九个小孩在新铁轨上玩,其中有一个小孩在旧铁轨 ...

  7. 压死了,压死了。。。

    上课看<深入浅出MFC>,感觉就是好书啊好书,不像<TC++PL>让我犯困...:),一直对国人写的书或多或少有些偏见,但是这本的确相当的棒. 回宿舍就写写基本的数据结构和算法 ...

  8. 超卖频发or商品滞销?压倒卖家的最后一根稻草竟是库存!

    超卖频发or商品滞销?压倒卖家的最后一根稻草竟是库存! 云南逸神生态茶业有限公司便是一家从最初的单体销售到目前的生产.加工.销售一体化经营,并拥有60多家遍布云南省内.省外城市的直营专卖店.想要发展壮 ...

  9. 爆料:学术生涯遭重创,才是压垮张首晟教授的最后一根稻草

    雷刚 发自 凹非寺  量子位 报道 | 公众号 QbitAI 世间再无张教授,但"区块链投资失败"的原因,有人听不下去了. 这位接近张首晟教授的人士爆料,教授之逝,无关区块链投资, ...

最新文章

  1. Python3.0 我的DailyReport 脚本(一) 使用COM操作Excel
  2. hihocoder 1320 压缩字符串(字符串+dp)
  3. 网站真分页js代码该怎么写? 1
  4. python csv读取数据 去掉标题-Python读csv文件去掉一列后再写入新的文件实例
  5. Oracle中Date和Timestamp的区别
  6. java mail 接受QQ邮箱未读的邮件
  7. UI设计组件|临摹学习的必备
  8. keepalived 多个应用_Keepalived高可用软件概述
  9. 深度学习10-tf.data-数据输入管道简介
  10. php js 终止,使用Server-Sent Events(和Javascript / PHP)的连接会立即停止
  11. mysql 优化器 cost评估_MySQL优化器cost计算
  12. 微信公众号定位显示EC-01G模组+STM32F103
  13. 《计算机算法设计与分析 第4版 (王晓东) 课后答案[1-9章]》pdf版电子书附下载链接
  14. 虚拟偶像大众化元年,如何挖掘蓝海市场|虚拟偶像公司2020年盘点
  15. bitvise ssh client 连接linux,secureCRT + Bitvise SSH Client实现ssh隧道远程
  16. tif(tiff)图片格式批量转换JPG图片格式转换器
  17. 鹅厂假前端实习鹅的实习日志
  18. 到位App_jQuery_art-template
  19. 手把手教你用Python分析微信聊天内容
  20. 解决IDEA的maven刷新依赖时出现Connot reconnect错误

热门文章

  1. 寄语中秋佳节 女人是老虎
  2. python adb 自动化测试--20200114档
  3. android wifi热点广播,Android WiFi热点开发的示例代码
  4. linux跳过磁盘自检,Linux 磁盘自检介绍
  5. java fileinputstream_java – 需要将AssetInputStream转换为FileInputStream
  6. 从键盘上输入任意一个整数,然后输出它的绝对值!
  7. 储蓄、投资和金融体系 - 异想天开
  8. 微信红包神器(防封)-安卓版本
  9. java版JieBa分词源码走读
  10. WeakHashMap分析