Cod sursa(job #2785250)

Utilizator PatrickCplusplusPatrick Kristian Ondreovici PatrickCplusplus Data 18 octombrie 2021 12:16:49
Problema Multiplu Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("multiplu.in");
ofstream fout("multiplu.out");

int a, b, v[30], l, v2[30];
bool gasit = true;

void Back(int i, int j, int m1, int m2){
    if (i > j){
        if (gasit){
            return;
        }
        if (m1 == m2 && m1 == 0){
            for (int k = 1; k <= j; ++k){
                v2[k] = v[k];
            }
            gasit = true;
        }
        return;
    }
    v[i] = 0;
    Back(i + 1, j, m1 * 10 % a, m2 * 10 % b);
    v[i] = 1;
    Back(i + 1, j, (m1 * 10 + 1) % a, (m2 * 10 + 1) % b);
}

int main(){
    fin >> a >> b;
    for (int i = 1; i <= 22; ++i){
        gasit = false;
        v[1] = 1;
        int m1 = 1 % a;
        int m2 = 1 % b;
        Back(2, i, m1, m2);
        if (gasit){
            l = i;
            break;
        }
    }
    for (int i = 1; i <= l; ++i){
        fout << v2[i];
    }
    return 0;
}