Напомена: ово је незванична копија задатака. Као таква, не гарантује се да ће овај сајт бити одржаван, и немојте се изненадити ако са њега задаци одједном нестану.
Дат вам је низ \(A\) од \(N\) тачака у координатној равни. Дата је и
тачка \(P\). Потребно је да одговорите
на \(Q\) упита. Сваки упит је описан са
по два броја \(L\) и \(R\). Нека је \(S\) скуп тачака \(\{A_L, A_{L+1}, \dots A_R\}\). Дозвољено је
примењивати следећу операцију произвољан број пута: узети две тачке
\(H\) и \(K\) из скупа \(S\) и у скуп додати једну од тачака које се
налазе на дужи \(HK\). Одговор на упит
је Da
ако тачка \(P\) може
да се нађе у скупу \(S\) након нула или
више потеза, или Ne
у супротном.
Обратите пажњу на то да се координате тачака у низу \(A\) могу поклапати као и да се координате тачке \(P\) могу поклапати са координатама тачкака из низа \(A\).
Потребно је да имплементирате функцију
где је:
boolean
вредности у који за сваки упит треба уписати true
ако је
одговор Da
, и false
ако је одговор
Ne
.Сви низови су индексирани од 1.
Тест примери су подељени у 7 подзадатака:
Потребно је да пошаљете тачно један фајл tacke.cpp
који
имплементира поменуту функцију. Осим тражене функције, ваш фајл може
садржати и додатне глобалне променљиве, помоћне функције и додатне
библиотеке.
Ваша функција мора бити следећег облика:
void Resi(int N, int Px, int Py, int *X, int *Y, int Q, int *L, int *R, bool *O);
Вашим програмима је дозвољено да мењају садржај низова, али не смеју да приступају ван њихових граница.
Уз задатак обезбеђен вам је “template” фајл code.cpp
који можете користити и мењати по потреби. Такође вам је обезбеђен
програм grader.cpp
који служи да лакше тестирате кодове.
Овај програм учитава са стандардног улаза следеће податке:
Затим овај програм позива вашу функцију и штампа одговоре на упите на
стандардни излаз, по један у сваком реду. Ако је ваша функција уписала
true
као вредност \(O_i\),
у \(i\)-том реду ће се одштампати
Da
, а у супротном, у \(i\)-том реду ће се одштампати
Ne
.
5 1 2
0 0
0 3
3 3
3 0
0 0
4
1 3
3 5
2 4
1 5
Da
Ne
Da
Da
Da
.Ne
.Da
.Da
.