您的位置:首页 > 其它

CodeForces 628B New Skateboard-数学水题

2016-03-12 22:17 471 查看
给一个字符串

让你求他的substring  中有多少个能整除4

题目特意强调了  A substring can start with
a zero.

4结果我智障地读成 子串只能有一个前导零

妈的智障

一开始就把前导零去掉了。。。。。把这段注释掉就ac了。。

就是一个数的末尾两位数如果能被4整除 则 这个数能被4整除,

直接for一遍,就OK了

智障!

#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <iostream>
using namespace std;
#include <cfloat>
const double pi=acos(-1.0);
double eps=0.000001;

char tm[300005];
int main()
{
scanf("%s",tm+1);
int n=strlen(tm+1);
int i,j;
__int64 sum=0;
int st=1;
for (i=n;i>=st;i--)
{
__int64 x=tm[i]-'0';
if (x%4==0)
sum+=1;
if (i==st)continue;
x+=(tm[i-1]-'0')*10;
if (x%4==0)
sum+=i-st;
}

printf("%I64d\n",sum);

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: