Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <fstream>
- #include <sstream>
- using namespace std;
- int PradinisX;
- int PradinisY;
- int KomanduSekuSkaicius;
- vector<vector<int> > KomanduSekos;
- void PasiimtiDuomenis() {
- ifstream duomenys("duomenys.txt");
- duomenys >> PradinisX >> PradinisY;
- duomenys >> KomanduSekuSkaicius;
- vector<int> komanduSeka;
- int komanda;
- int komanduSekosIlgis;
- for (int i = 0; i < KomanduSekuSkaicius; i++) {
- duomenys >> komanduSekosIlgis;
- for (int p = 0; p < komanduSekosIlgis; p++) {
- duomenys >> komanda;
- komanduSeka.push_back(komanda);
- }
- KomanduSekos.push_back(komanduSeka);
- komanduSeka.clear();
- }
- duomenys.close();
- }
- void AtliktiKomanda(int komanda, int &x, int &y) {
- switch (komanda) {
- case 1:
- x++;
- y++;
- break;
- case 2:
- x++;
- y--;
- break;
- case 3:
- x--;
- y--;
- break;
- case 4:
- x--;
- y++;
- break;
- }
- }
- void AtliktiSeka(vector<int> komanduSeka) {
- int x = PradinisX;
- int y = PradinisY;
- int atliktuKomanduSkaicius = 0;
- ostringstream oss;
- for (int i = 0; i < komanduSeka.size(); i++) {
- AtliktiKomanda(komanduSeka[i], x, y);
- atliktuKomanduSkaicius++;
- oss << komanduSeka[i] << " ";
- if (x == PradinisX && y == PradinisY) {
- cout << "pasiektas tikslas" << " " << oss.str() << atliktuKomanduSkaicius << endl;
- return;
- }
- }
- cout << "sekos pabaiga" << " " << oss.str() << atliktuKomanduSkaicius << " " << x << " " << y << endl;
- }
- int main()
- {
- PasiimtiDuomenis();
- for (int i = 0; i < KomanduSekuSkaicius; i++) {
- AtliktiSeka(KomanduSekos[i]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement