Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- using namespace std;
- void powieksz(int *& array, int size) {
- int *dbl = new int[size +1];
- for (int i = 0; i < size; i++) {
- dbl[i] = array[i];
- }
- delete[] array;
- array = dbl;
- }
- void pomniejsz(int *& array, int size) {
- int *dbl = new int[size - 1];
- for (int i = 0; i < size - 1; i++) {
- dbl[i] = array[i];
- }
- delete[] array;
- array = dbl;
- }
- int main()
- {
- int *peron = new int[0];
- int *bocznica = new int[0];
- int rozmiar_peronu = 0;
- int rozmiar_bocznicy = 0;
- int ilosc_wagonow = 0;
- int kolejny_wagon = 0;
- cin >> ilosc_wagonow;
- //Wstawianie
- for (int i = 0; i < ilosc_wagonow; i++)
- {
- cin >> kolejny_wagon;
- if (kolejny_wagon == 1) {
- powieksz(peron, rozmiar_peronu);
- peron[rozmiar_peronu] = kolejny_wagon;
- rozmiar_peronu++;
- }
- else {
- if (rozmiar_peronu != 0 && kolejny_wagon == (peron[rozmiar_peronu-1] + 1)) {
- powieksz(peron, rozmiar_peronu);
- peron[rozmiar_peronu] = kolejny_wagon;
- rozmiar_peronu++;
- }
- else if (rozmiar_bocznicy != 0 && rozmiar_peronu != 0 && bocznica[rozmiar_bocznicy - 1] == peron[rozmiar_peronu - 1] + 1) {
- while (rozmiar_bocznicy != 0 && rozmiar_peronu != 0 && bocznica[rozmiar_bocznicy-1] == peron[rozmiar_peronu-1] + 1) {
- powieksz(peron, rozmiar_peronu);
- peron[rozmiar_peronu] = bocznica[rozmiar_bocznicy - 1];
- rozmiar_peronu++;
- pomniejsz(bocznica, rozmiar_bocznicy);
- rozmiar_bocznicy--;
- }
- powieksz(bocznica, rozmiar_bocznicy);
- bocznica[rozmiar_bocznicy] = kolejny_wagon;
- rozmiar_bocznicy++;
- }
- else {
- powieksz(bocznica, rozmiar_bocznicy);
- bocznica[rozmiar_bocznicy] = kolejny_wagon;
- rozmiar_bocznicy++;
- }
- }
- }
- if (rozmiar_bocznicy != 0 && rozmiar_peronu != 0 && bocznica[rozmiar_bocznicy-1] == peron[rozmiar_peronu-1] + 1) {
- while (rozmiar_bocznicy != 0 && rozmiar_peronu != 0 && bocznica[rozmiar_bocznicy-1] == peron[rozmiar_peronu-1] + 1) {
- powieksz(peron, rozmiar_peronu);
- peron[rozmiar_peronu] = bocznica[rozmiar_bocznicy - 1];
- rozmiar_peronu++;
- pomniejsz(bocznica, rozmiar_bocznicy);
- rozmiar_bocznicy--;
- }
- }
- if (rozmiar_peronu == ilosc_wagonow) {
- cout << "TAK";
- }
- else
- {
- cout << "NIE";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement