题目:切割
题目描述
数学课上,老师给你们一个数,让你们在中间切割一刀,切割成两部分,使得两部分的和为
偶数,老师想知道有多少种合法的切割方案?
输入描述:
一个整数
n
输出描述:
多少种合法的切割方案
输入样例 1
10
输出样例 1
0
输入样例 2
103
输出样例 2
1
样例解释:切割成
1+03=4
是合法的,但
10+3=13
为奇数,不符合要求。所以有
1
种合法方
案。
数据范围:
100%的数据:10≤n≤10^
100000
。
代码
#include<bits/stdc++.h>
using namespace std;
long long ans1,ans2,cnt;
int main(){
string a;
cin>>a;
int len=a.size();
for(int i=1;i<=len-1;i++){
for(int j=0;j<i;j++)
ans1=ans1*10+(a[j]-'0');
for(int j=i;j<len;j++)
ans2=ans2*10+(a[j]-'0');
if((ans1+ans2)%2==0)
cnt++;
}
cout<<cnt;
return 0;
}
但是,这么简单的题目我都无法一次AC
…………
好吧
这也证明了我是个蒟蒻
emm……
为什么会TLE呢
在我看了亿下老师的标程之后,我悟了
#include<bits/stdc++.h>
using namespace std;
int ans;
int main(){
string a;
cin>>a;
int len=a.size();
for(int i=0;i<len-1;i++)
if((a[i]-'0')%2==(a[len-1]-'0')%2)
ans++;
cout<<ans;
return 0;
}
这就AC了???
呜呜呜
我是个**
这题考试的时候我只拿了90,然后就逝了
祝:
大家这次省赛考个好成绩!
(也希望我也考个好成绩)