# Swapping Digits

**URL:** <https://forum.olinfo.it/t/swapping-digits/8711>\
**Category:** Aiuto\
**Created:** [20 Gennaio 2024, 5:34pm UTC](https://forum.olinfo.it/t/swapping-digits/8711 "2024-01-20T17:34:36Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Prova4](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/p/a5b964/32.png) [@Prova4](https://forum.olinfo.it/u/Prova4)\
**Post date:** [20 Gennaio 2024, 5:34pm UTC](https://forum.olinfo.it/t/swapping-digits/8711/1 "2024-01-20T17:34:36Z")

</div>

Con questo codice faccio 0/100 e non capisco il perchè dato che quello che faccio è controllare se alla fine del numero ci sono già 00, 25, 50, 75 o posso in un qualche modo arrivare a metterli. Qualche suggerimento?

```auto
#include <bits/stdc++.h>

using namespace std;

int solve () {
    string num;
    cin >> num;

    int N = num.length();

    if (N < 2) return 0;

    if (num[N - 1] == '0') {
        if (num[N - 2] == '0') return 0;
        if (num[N - 2] == '5') return 0;
    }

    if (num[N - 1] == '5') {
        if (num[N - 2] == '2') return 0;
        if (num[N - 2] == '7') return 0;
    }

    vector<int> digits(10, 0);

    for (int i = 0; i < N; i++) {
        digits[num[i] - '0']++;
    }

    if (num[N - 1] == '0') {
        if (digits[0] - 1 >= 1) return 1;
        if (digits[5] >= 1) return 1;
    }

    if (num[N - 1] == '5') {
        if (digits[2] >= 1) return 1;
        if (digits[7] >= 1) return 1;
    }

    if (num[N - 2] == '0' && digits[0] > 1) return 1;
    if (num[N - 2] == '2' && digits[5] >= 1) return 1;
    if (num[N - 2] == '5' && digits[0] >= 1) return 1;
    if (num[N - 2] == '7' && digits[5] >= 1) return 1;

    if (digits[0] >= 2) return 2;
    if (digits[2] >= 1 && digits[5] >= 1) return 2;
    if (digits[5] >= 1 && digits[0] >= 1) return 2;
    if (digits[7] >= 1 && digits[5] >= 1) return 2;

    return -1;
}

int main () {
    int T;
    cin >> T;

    for (int i = 1; i <= T; i++) {
        cout << solve() << "\n";
    }

    return 0;
}

```

---

<div class="post-metadata">

**Author:** ![v.bizzarri](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/v/7c8e57/32.png) [@v.bizzarri](https://forum.olinfo.it/u/v.bizzarri)\
**Post date:** [21 Gennaio 2024, 7:14am UTC](https://forum.olinfo.it/t/swapping-digits/8711/2 "2024-01-21T07:14:47Z")

</div>

prova con 99957

---

<div class="post-metadata">

**Author:** ![Prova4](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/p/a5b964/32.png) [@Prova4](https://forum.olinfo.it/u/Prova4)\
**Post date:** [21 Gennaio 2024, 3:39pm UTC](https://forum.olinfo.it/t/swapping-digits/8711/3 "2024-01-21T15:39:34Z")

</div>

Ah capito, grazie mille.
