Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <fstream>
- #include <Windows.h>
- #include <vector>
- void wypisz(int tab[][20])
- {
- for (int i = 0; i < 20; i++)
- {
- for (int j = 0; j < 20; j++)
- std::cout << tab[j][i];
- std::cout << std::endl;
- }
- }
- int litery(std::string ruch)
- {
- int len = ruch.length();
- int dlugosc = 1;
- int maxdlugosc = -1;
- for (int i = 0; i < len - 1; i++)
- {
- if (ruch[i] == 'E' || ruch[i] == 'W')
- if (ruch[i] == ruch[i + 1])
- dlugosc++;
- else
- {
- if (dlugosc > maxdlugosc)
- maxdlugosc = dlugosc;
- dlugosc = 1;
- }
- }
- return maxdlugosc;
- }
- int main()
- {
- int tab[20][20];
- std::ifstream plansza("plansza.txt");
- for (int i = 0; i < 20; i++)
- for (int j = 0; j < 20; j++)
- plansza >> tab[j][i];
- // Sprawdzenie
- // wypisz(tab);
- std::ifstream robot("robot.txt");
- std::string ruchy[1000];
- for (int i = 0; i < 1000; i++)
- robot >> ruchy[i];
- // std::cout << ruchy[2];
- int maxwynik = -1;
- int igracza = 0;
- int dyskw = 0;
- int maxlitery = -1;
- std::vector<int> gracze;
- for (int i = 0; i < 1000; i++)
- {
- int wynik = tab[0][0];
- int x = 0;
- int y = 0;
- int len = ruchy[i].length();
- for (int j = 0; j < len; j++)
- {
- char ruch = ruchy[i][j];
- switch (ruch)
- {
- case 'N':
- y--;
- break;
- case 'S':
- y++;
- break;
- case 'W':
- x--;
- break;
- case 'E':
- x++;
- break;
- }
- if (x >= 20 || x < 0 || y >= 20 || y < 0)
- {
- dyskw++;
- wynik = -1;
- break;
- }
- else
- wynik += tab[y][x];
- }
- if (wynik > maxwynik)
- {
- maxwynik = wynik;
- igracza = i + 1;
- }
- int litera = litery(ruchy[i]);
- if (litera > maxlitery)
- {
- maxlitery = litera;
- gracze.clear();
- gracze.emplace_back(i + 1);
- }
- else if (litera == maxlitery)
- gracze.emplace_back(i + 1);
- }
- // std::cout << litery("ENEEWENSSESSWSWESWNN");
- std::cout << "dyskwalifikacja: " << dyskw << std::endl;
- std::cout << "maxwynik: " << maxwynik << " - gracz: " << igracza << std::endl;
- for (auto &gracz : gracze)
- std::cout << gracz << " ";
- std::cout << "-> max: " << maxlitery << std::endl;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement