Skip to content

Latest commit

 

History

History
46 lines (35 loc) · 1.01 KB

1016. 部分A+B.md

File metadata and controls

46 lines (35 loc) · 1.01 KB

【PAT B-1016】部分 A+B

题意概述

正整数 A 的$D_A$部分定义为由 A 中的所有$D_A$组成的新整数$P_A$。例如:给定 A=3862767,$D_A=6$,则 A 的“6 部分”$P_A=66$,因为 A 中有 2 个 6。给定 A、$D_A$、B、$D_B$,计算$P_A+P_B$。

输入输出格式

输入第一行给出 A、$D_A$、B、$D_B$。

在一行中输出$P_A+P_B$。

数据规模

$$0<A,B<{10}^{10}$$

算法设计

直接用 string 读入 A 和 B,遍历 A 和 B 将对应的$D_A$、$D_B$截取下来组成两个整数 a、b,输出 a+b 即可。

C++代码

#include <bits/stdc++.h>
using namespace std;
using gg = long long;
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    string A, B;
    gg Da, Db, a = 0, b = 0;
    cin >> A >> Da >> B >> Db;
    for (auto c : A) {
        if (c - '0' == Da) {
            a = a * 10 + Da;
        }
    }
    for (auto c : B) {
        if (c - '0' == Db) {
            b = b * 10 + Db;
        }
    }
    cout << a + b;
    return 0;
}