151002025-02-12 19:58:24iSamu7598Következő permutáció (50 pont)cpp11Időlimit túllépés 12/50300ms512 KiB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

// 3-1-2 minta-mentesség ellenőrzése
bool is_312_free(const vector<int>& p) {
    int N = p.size();
    // Három különböző index (i < j < k), és a 3-1-2 mintát keresni
    for (int i = 0; i < N; i++) {
        for (int j = i + 1; j < N; j++) {
            for (int k = j + 1; k < N; k++) {
                if (p[i] > p[j] && p[i] > p[k] && p[j] < p[k]) {
                    return false; // 3-1-2 minta található
                }
            }
        }
    }
    return true; // Nincs 3-1-2 minta
}

int main() {
    int N;
    cin >> N;  // Bemeneti N
    vector<int> perm(N);

    // Bemeneti permutáció
    for (int i = 0; i < N; i++) {
        cin >> perm[i];
    }

    // Generáljuk a következő permutációt
    next_permutation(perm.begin(), perm.end());
    do {
        // Ha a permutáció 3-1-2 mentes, akkor kiírjuk
        if (is_312_free(perm)) {
            for (int i = 0; i < N; i++) {
                cout << perm[i] << " ";
            }
            cout << endl;
            return 0;  // Kilépés a programból, miután megtaláltuk a következőt
        }
    } while (next_permutation(perm.begin(), perm.end()));  // A következő permutáció keresése

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base12/50
1Elfogadva0/01ms316 KiB
2Időlimit túllépés0/0275ms508 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva1/11ms316 KiB
6Elfogadva1/11ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/24ms396 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/21ms316 KiB
11Időlimit túllépés0/1300ms316 KiB
12Időlimit túllépés0/1300ms316 KiB
13Időlimit túllépés0/1300ms316 KiB
14Időlimit túllépés0/1291ms508 KiB
15Időlimit túllépés0/3282ms316 KiB
16Időlimit túllépés0/3282ms512 KiB
17Időlimit túllépés0/3300ms316 KiB
18Időlimit túllépés0/3282ms316 KiB
19Időlimit túllépés0/3282ms500 KiB
20Időlimit túllépés0/3284ms508 KiB
21Időlimit túllépés0/3300ms316 KiB
22Időlimit túllépés0/3280ms316 KiB
23Időlimit túllépés0/3284ms316 KiB
24Időlimit túllépés0/3284ms316 KiB
25Időlimit túllépés0/2300ms316 KiB
26Időlimit túllépés0/2282ms316 KiB