1016. 部分A+B (15)

舒眉發表於2018-04-12

1016. 部分A+B (15)

時間限制
100 ms
記憶體限制
65536 kB
程式碼長度限制
8000 B
判題程式
Standard
作者
CHEN, Yue

正整數A的“DA(為1位整數)部分”定義為由A中所有DA組成的新整數PA。例如:給定A = 3862767,DA = 6,則A的“6部分”PA是66,因為A中有2個6。

現給定A、DA、B、DB,請編寫程式計算PA + PB

輸入格式:

輸入在一行中依次給出A、DA、B、DB,中間以空格分隔,其中0 < A, B < 1010

輸出格式:

在一行中輸出PA + PB的值。

輸入樣例1:
3862767 6 13530293 3
輸出樣例1:
399
輸入樣例2:
3862767 1 13530293 8
輸出樣例2:

0

程式碼部分:

#include<iostream>
using namespace std;
int ff(long long  K ,int k){
    int a[10] = {0};
    while(K){
        a[K%10]++;
        K/=10;
    }
    int sum = 0;
    for(int i = 1;i <= a[k];i++){
        sum = sum*10 + k;
    }
    return sum;
}
long long f(long long A,long long B,int a,int b){
    return ff(A,a)+ff(B,b);
}
int main(){
    long long A,B;
    int a,b;
    cin >> A >> a >> B >> b;
    long long C;
    C = f(A,B,a,b);
    cout << C;
return 0;
}

相關文章