Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <utility>
- #include <vector>
- #include <algorithm>
- using namespace std;
- ///us
- pair<int,int> replace(vector<pair<int,int>>wszystkie_wierze,pair<int,int>&aktualna_wierza,int wielkosc) //punkt w którym będzie
- {
- for(int i=0;i<wielkosc;i++)
- {
- if(wszystkie_wierze[i].second==i)
- {
- aktualna_wierza.second=wszystkie_wierze[i].second;
- return aktualna_wierza;
- }
- }
- return aktualna_wierza;
- }
- bool czy_stoi_na_lini(vector<pair<int,int>>wszystkie_wierze,pair<int,int>&aktualna_wierza)
- {
- for(int i=0;i<wszystkie_wierze.size();i++)
- {
- if(wszystkie_wierze[i].first==aktualna_wierza.first||wszystkie_wierze[i].second==aktualna_wierza.second)
- { aktualna_wierza.first=wszystkie_wierze[i].first;
- aktualna_wierza.second=wszystkie_wierze[i].second;
- swap(wszystkie_wierze[i],wszystkie_wierze[wszystkie_wierze.size()]);
- wszystkie_wierze.pop_back();
- return true;
- }
- }
- return false;
- }
- int main()
- { int liczba_ruchow;
- int liczba_wierz;
- int wielosc_szachownicy;
- cin>>wielosc_szachownicy;
- cin>>liczba_wierz;
- int aktualna_liczba_wierz=liczba_wierz;
- vector<pair<int,int>>pozycja_wierzy(aktualna_liczba_wierz);
- for(int i=0;i<aktualna_liczba_wierz;i++)
- {
- cin>>pozycja_wierzy[i].first;
- cin>>pozycja_wierzy[i].second;
- }
- sort(&pozycja_wierzy[0].second,&pozycja_wierzy[aktualna_liczba_wierz].second);
- pair<int,int>wierza_startowa=pozycja_wierzy[0];
- while(aktualna_liczba_wierz>=0)
- {
- if(czy_stoi_na_lini(pozycja_wierzy,wierza_startowa))
- {
- aktualna_liczba_wierz--;
- liczba_ruchow++;
- }
- else {liczba_ruchow++;
- replace(pozycja_wierzy,wierza_startowa,wielosc_szachownicy);
- }
- }
- cout << liczba_ruchow << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement