牛客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 }

猜你喜欢

转载自www.cnblogs.com/spongeb0b/p/10597205.html