#include <iostream>
#include <vector>
#include <queue>
#include <windows.h>
using namespace std;
struct pokoj
{
vector <int> korytarz;
void dodaj(int n) //korytarz
{
korytarz.push_back(n);
}
};
int main()
{
vector <pokoj> labirynt;
for(int i=0; i<9; i++)
labirynt.push_back(pokoj()); //0--1--2
//| | |
labirynt[0].dodaj(1); //3--4 5
labirynt[0].dodaj(3); // |
//6--7--8
labirynt[1].dodaj(0);
labirynt[1].dodaj(4);
labirynt[1].dodaj(2);
labirynt[2].dodaj(1);
labirynt[2].dodaj(5);
labirynt[3].dodaj(0);
labirynt[3].dodaj(4);
labirynt[4].dodaj(1);
labirynt[4].dodaj(3);
labirynt[5].dodaj(2);
labirynt[5].dodaj(8);
labirynt[6].dodaj(7);
labirynt[7].dodaj(6);
labirynt[7].dodaj(8);
labirynt[8].dodaj(5);
labirynt[8].dodaj(7);
vector <int> gdzie_moge;
int wybor;
int k=0;
while(1)
{
for(int g=0; g<labirynt[k].korytarz.size(); g++)
gdzie_moge.push_back(labirynt[k].korytarz[g]);
cout<<"Jestes w pokoju "<<k<<". Dokad chcesz isc dalej?"<<endl;
ponow_wybor:
for(int i=0; i<gdzie_moge.size(); i++)
cout<<gdzie_moge[i]<<" ";
cout<<"\n";
cin>>wybor;
//cls();
system ("cls");
if(wybor == gdzie_moge[0])k=gdzie_moge[0];
else if(wybor == gdzie_moge[1])k=gdzie_moge[1];
else if(wybor == gdzie_moge[2])k=gdzie_moge[2];
else
{
cout<<"Zly wybor. Wybierz ponownie."<<endl;
goto ponow_wybor;
}
gdzie_moge.clear();
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8cXVldWU+CiNpbmNsdWRlIDx3aW5kb3dzLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgcG9rb2oKewogICAgdmVjdG9yIDxpbnQ+IGtvcnl0YXJ6OwoKICAgIHZvaWQgZG9kYWooaW50IG4pIC8va29yeXRhcnoKICAgIHsKICAgICAgICBrb3J5dGFyei5wdXNoX2JhY2sobik7CiAgICB9Cgp9OwoKaW50IG1haW4oKQp7CiAgICB2ZWN0b3IgPHBva29qPiBsYWJpcnludDsKCiAgICBmb3IoaW50IGk9MDsgaTw5OyBpKyspCiAgICAgICAgbGFiaXJ5bnQucHVzaF9iYWNrKHBva29qKCkpOyAgICAvLzAtLTEtLTIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vfCAgfCAgfAogICAgbGFiaXJ5bnRbMF0uZG9kYWooMSk7ICAgICAgICAgICAgICAgLy8zLS00ICA1CiAgICBsYWJpcnludFswXS5kb2RhaigzKTsgICAgICAgICAgICAgICAvLyAgICAgIHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vNi0tNy0tOAogICAgbGFiaXJ5bnRbMV0uZG9kYWooMCk7CiAgICBsYWJpcnludFsxXS5kb2Rhaig0KTsKICAgIGxhYmlyeW50WzFdLmRvZGFqKDIpOwoKICAgIGxhYmlyeW50WzJdLmRvZGFqKDEpOwogICAgbGFiaXJ5bnRbMl0uZG9kYWooNSk7CgogICAgbGFiaXJ5bnRbM10uZG9kYWooMCk7CiAgICBsYWJpcnludFszXS5kb2Rhaig0KTsKCiAgICBsYWJpcnludFs0XS5kb2RhaigxKTsKICAgIGxhYmlyeW50WzRdLmRvZGFqKDMpOwoKICAgIGxhYmlyeW50WzVdLmRvZGFqKDIpOwogICAgbGFiaXJ5bnRbNV0uZG9kYWooOCk7CgogICAgbGFiaXJ5bnRbNl0uZG9kYWooNyk7CgogICAgbGFiaXJ5bnRbN10uZG9kYWooNik7CiAgICBsYWJpcnludFs3XS5kb2Rhaig4KTsKCiAgICBsYWJpcnludFs4XS5kb2Rhaig1KTsKICAgIGxhYmlyeW50WzhdLmRvZGFqKDcpOwoKICAgIHZlY3RvciA8aW50PiBnZHppZV9tb2dlOwoKICAgIGludCB3eWJvcjsKCiAgICBpbnQgaz0wOwoKICAgIHdoaWxlKDEpCiAgICB7CiAgICAgICAgZm9yKGludCBnPTA7IGc8bGFiaXJ5bnRba10ua29yeXRhcnouc2l6ZSgpOyBnKyspCiAgICAgICAgICAgIGdkemllX21vZ2UucHVzaF9iYWNrKGxhYmlyeW50W2tdLmtvcnl0YXJ6W2ddKTsKCiAgICAgICAgY291dDw8Ikplc3RlcyB3IHBva29qdSAiPDxrPDwiLiBEb2thZCBjaGNlc3ogaXNjIGRhbGVqPyI8PGVuZGw7CgogICAgICAgIHBvbm93X3d5Ym9yOgoKICAgICAgICAgICAgICAgIGZvcihpbnQgaT0wOyBpPGdkemllX21vZ2Uuc2l6ZSgpOyBpKyspCiAgICAgICAgICAgICAgICAgICAgY291dDw8Z2R6aWVfbW9nZVtpXTw8IiAiOwoKICAgICAgICAgICAgICAgIGNvdXQ8PCJcbiI7CgogICAgICAgICAgICAgICAgY2luPj53eWJvcjsKICAgICAgICAgICAgICAgIC8vY2xzKCk7CiAgICAgICAgICAgICAgICBzeXN0ZW0gKCJjbHMiKTsKCiAgICAgICAgICAgICAgICBpZih3eWJvciA9PSBnZHppZV9tb2dlWzBdKWs9Z2R6aWVfbW9nZVswXTsKICAgICAgICAgICAgICAgIGVsc2UgaWYod3lib3IgPT0gZ2R6aWVfbW9nZVsxXSlrPWdkemllX21vZ2VbMV07CiAgICAgICAgICAgICAgICBlbHNlIGlmKHd5Ym9yID09IGdkemllX21vZ2VbMl0paz1nZHppZV9tb2dlWzJdOwogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGNvdXQ8PCJabHkgd3lib3IuIFd5YmllcnogcG9ub3duaWUuIjw8ZW5kbDsKICAgICAgICBnb3RvIHBvbm93X3d5Ym9yOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIGdkemllX21vZ2UuY2xlYXIoKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=