牛客OI周赛7-提高组 A 小睿睿的等式
链接:https://ac.nowcoder.com/acm/contest/371/A
来源:牛客网
小睿睿在游戏开始时有n根火柴棒,他想知道能摆成形如“A+B=n”的等式且使用的火柴棒数也恰好等于n/k的等式有多少种(B+A=n与A+B=n看作一种)
注:
注:
“=”与“+”分别需要使用2根火柴棒
输入描述:
一行2个整数n,k,保证n取模k为0
输出描述:
一行一个整数,表示答案
思路,打表存下每个数字对应消耗的火柴数
1 #include<iostream> 2 using namespace std; 3 int b[10]={6,2,5,5,4,5,6,3,7,6},a[50000001]; 4 int main() 5 { 6 int n,k; 7 cin>>n>>k; 8 for(int i=1;i<=n;i++) 9 a[i]=a[i/10]+b[i%10]; 10 int m=n/k-4-a[n],ans=0; 11 for(int i=0,j=n;i<=j;i++,j--) 12 { 13 if(a[i]+a[j]==m) 14 { 15 ans++; 16 } 17 } 18 cout<<ans<<endl; 19 }