답안 #1107296

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1107296 2024-11-01T05:57:56 Z debugDragon Parking Problem (innopolis2021_final_A) C++14
0 / 100
2000 ms 800 KB
#include <iostream>
#include <vector>
#include <string>

using namespace std;

bool canParkCar(const string &parking, int m) {
    int n = parking.size();
    vector<bool> occupied(n, false);
    for (int i = 0; i < n; ++i) {
        occupied[i] = parking[i] == 'X';
    }

    for (int i = 0; i < m; ++i) {
        if (i >= n) break;
        if (occupied[i]) continue;

        // Check for motorcycle
        if (occupied[i] == false) {
            occupied[i] = true;
        }
    }

    // Check for available parking for the car
    for (int i = 0; i < n - 1; ++i) {
        if (!occupied[i] && !occupied[i + 1]) {
            return true;
        }
    }
    return false;
}

string canParkSequence(string parking, string queue) {
    string result;
    int m = queue.size();

    // Check before any vehicles enter
    result += canParkCar(parking, 0) ? 'Y' : 'N';

    for (int i = 0; i < m; ++i) {
        if (queue[i] == 'M') {
            parking += 'M';  // Simulate motorcycle parking
        } else {
            parking += 'C';  // Simulate car parking
        }

        if (canParkCar(parking, i + 1)) {
            result += 'Y';
        } else {
            result += 'N';
        }
    }

    return result;
}

int main() {
    int t;
    cin >> t;
    while (t--) {
        string parking, queue;
        cin >> parking >> queue;
        cout << canParkSequence(parking, queue) << endl;
    }
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2061 ms 748 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2048 ms 740 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2066 ms 800 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2061 ms 748 KB Time limit exceeded
2 Halted 0 ms 0 KB -