【题解】PATB-1016 部分A+B

部分A+B (PATB-1016)

题面

正整数 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<10^10。

输出

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

样例输入1

1
3862767 6 13530293 3

样例输出1

1
399

样例输入2

1
3862767 1 13530293 8

样例输出2

1
0

提示

思路

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int a, b, da, db;

int main()
{
scanf("%d %d %d %d", &a, &da, &b, &db);
int ta = 0, tb = 0;
while (a)
{
if (a % 10 == da)
ta = ta * 10 + da;
a /= 10;
}
while (b)
{
if (b % 10 == db)
tb = tb * 10 + db;
b /= 10;
}

printf("%d\n", ta + tb);
return 0;
}