60652023-10-29 14:55:00GhostSzorzás gyakorláscpp17Elfogadva 100/1003ms3756 KiB
#include <iostream>
#include <vector>
#include <set>

using namespace std;

void split(int x, set<int>& digits) {
    while (x != 0) {
        digits.insert(x % 10);
        x /= 10;
    }
}

bool check(set<int> digits) {
    for (int j = 0; j < 10; j++) {
        if (digits.count(j) == 0) {
            return 0;
        }
    }
    return 1;
}

int main()
{
    int n, i;
    cin >> n;

    vector<int> start(n);
    for (i = 0; i < n; i++) {
        cin >> start[i];
    }

    set<int> digits;
    int current;
    for (i = 0; i < n; i++) {
        current = start[i];
        split(current, digits);
        int num = 1;
        while (!check(digits)) {
            split(current*(num+1), digits);
            num++;
        }
        cout << num << endl;
        digits.clear();
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1812 KiB
2Elfogadva3ms2008 KiB
subtask215/15
3Elfogadva3ms2092 KiB
subtask325/25
4Elfogadva3ms2328 KiB
5Elfogadva3ms2428 KiB
6Elfogadva3ms2656 KiB
7Elfogadva3ms2832 KiB
8Elfogadva3ms2748 KiB
9Elfogadva2ms2852 KiB
10Elfogadva2ms2960 KiB
11Elfogadva2ms2964 KiB
subtask420/20
12Elfogadva3ms3092 KiB
13Elfogadva3ms3296 KiB
subtask540/40
14Elfogadva3ms3476 KiB
15Elfogadva3ms3596 KiB
16Elfogadva3ms3564 KiB
17Elfogadva3ms3320 KiB
18Elfogadva3ms3320 KiB
19Elfogadva3ms3452 KiB
20Elfogadva3ms3556 KiB
21Elfogadva3ms3660 KiB
22Elfogadva3ms3740 KiB
23Elfogadva3ms3756 KiB