I got that power

题目描述

每个人 都有自己独有的计数方式 比如以下 字符串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整除

  1. 可以判断每一位数字,如果本身可以被4整除 ans++ ,如果加上前一个数可以被4整除,ans+=i
  2. 如果数字过长,MLE,TLE。
    所以可以有pre记录前面的数

判断能被N整除的字符串

看这里

AC

#include<bits/stdc++.h>
#define ll long long
#define mem(a, b) memset(a, b, sizeof(a))
#define N 100005
#define P pair<ll, int>
using namespace std;
ll a[N], b[N];
int main() {
//  freopen("in.txt", "r", stdin);ios::sync_with_stdio(false);string s;int n;cin >> n;while (n--) {cin >> s;int len = s.length();int now = 0;        for (int i = 0; i < len; i++) {//  int t = s[i] - '0';//  t <= 9 && t >= 0if (isdigit(s[i])) {int sum = 0, num;while (i < len && s[i] != '-') {//手残 sum += sum * 10 + s[i] - '0';//一直WA  sum = sum * 10 + s[i] - '0';i++;}i += 2;num = s[i] - '0';a[now] = sum;b[now] = num;now++;}}ll ans = 0, pre = a[0];if (b[0] % 4 == 0)  ans += a[0];if (b[0] % 4 == 0 && a[0] > 1) {ans += (a[0] * a[0] - a[0]) / 2;}for (int i = 1; i < now; i++) {if (b[i] % 4 == 0)  ans += a[i];if (b[i] % 4 == 0 && a[i] > 1)  {ans += (2 * pre + a[i]) * (a[i] - 1) / 2;}   if ((b[i] + 10 * (b[i - 1] - '0')) % 4 == 0)    ans += pre;pre += a[i];}cout << ans << endl;}   return 0;
}

2049 : 压死骆驼的最后一根稻草 (规律)相关推荐

  1. ZZNU 压死骆驼的最后一根稻草 规律题

    J : 压死骆驼的最后一根稻草 Progress Bar 时间限制:1 Sec 内存限制:128 MiB 提交:179 答案正确:34 题目描述 每个人 都有自己独有的计数方式  比如以下  字符串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 socket shutdown 简介
  2. 一句话讲清楚GIL锁
  3. Android开发之自定义view进行旋转动画
  4. SAP ABAP刷新ALV 渲染刷新 (我也不太懂,反正就这么写了)
  5. 并行程序设计模式--Master-Worker模式
  6. matlab 排列组合
  7. 多媒体计算机教室模式图,多媒体教室设备连接示意图.doc
  8. NPDP第四章 文化、组织与团队
  9. 用计算机打开软件,电脑上如何打开软件?
  10. noip2017提高组初赛c语言,NOIP2017提高组比赛体验篇一(干货)
  11. pb文件存储成txt, pbtxt文件
  12. 老台式电脑怎么连热点_台式电脑怎样连接wifi热点,教你一招快速连接
  13. macbookair有没有touchbar_Touch Bar 真的好用吗?苹果全新 MacBook Pro 触控条上手体验...
  14. 【51单片机】霹雳灯实验代码
  15. 阿里云的混合云战略,凭啥扯上Zstack?
  16. html表格字间距怎么调整,word表格中怎么调整文字行间距以及字符间距?
  17. [译] Cilium:基于 BPF+EDT+FQ+BBR 更好地带宽网络管理
  18. 差动保护类毕业论文文献包含哪些?
  19. 使用table2excel做excel表格下载
  20. 【转】为什么很多看起来不是很复杂的网站,比如 Facebook、淘宝,都需要大量顶尖高手来开发?...

热门文章

  1. UVA11468 Substring
  2. VS 2015 开发Android底部导航条----[实例代码,多图]
  3. jq 选择多个子元素,,添加,删除多个类
  4. git学习之时光机穿梭(四)
  5. Linux运行jmeter
  6. android Listview scrollto 问题
  7. 所谓的二维背包Triangular Pastures POJ 1948
  8. 理解关于java反射中类的域及修饰符
  9. VB6中如何使用C#开发的WebService进行开发
  10. 【Python数据挖掘课程】六.Numpy、Pandas和Matplotlib包基础知识