# Secret Meeting Aiuto

**URL:** <https://forum.olinfo.it/t/secret-meeting-aiuto/6052>\
**Category:** Aiuto\
**Created:** [10 Febbraio 2020, 6:14pm UTC](https://forum.olinfo.it/t/secret-meeting-aiuto/6052 "2020-02-10T18:14:12Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![alep](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/a/f19dbf/32.png) [@alep](https://forum.olinfo.it/u/alep)\
**Post date:** [10 Febbraio 2020, 6:14pm UTC](https://forum.olinfo.it/t/secret-meeting-aiuto/6052/1 "2020-02-10T18:14:13Z")

</div>

Scusate per il disturbo, stavo provando a risolvere il problema [Teleport2](https://training.olinfo.it/#/task/ois_teleport2),ma sono incappato in una sfilza di 0/100 con punteggio massimo ottenuto 35/100; Le formule che ho utilizzato sono le classiche formule della distanza tra due punti, Questo è il codice:

```auto
#include <bits/stdc++.h>

using namespace std;

int main(){
#ifdef EVAL
	freopen("input.txt","r",stdin);
	freopen("output.txt","w",stdout);
#endif
int T,Xa,Ya,Xb,Yb,Xc,Yc;
cin>>T;
double R;
double prim,sec,ter;
double sec1,ter1;
for(int i=0;i<T;i++){
	cin>>Xa>>Ya>>Xb>>Yb>>Xc>>Yc>>R;
	
	prim = sqrt((Xa-Xb)*(Xa-Xb)+(Ya-Yb)*(Ya-Yb));
	
	sec1 = sqrt((Xa-Xc)*(Xa-Xc)+(Ya-Yc)*(Ya-Yc));
	sec = max(0.0, sec1-R);
	
	ter1 = sqrt((Xb-Xc)*(Xb-Xc)+(Yb-Yc)*(Yb-Yc));
	ter = max(0.0, ter1-R);
	
	double tot = min(prim, sec+ter);
	tot=floor(tot*1000000)/1000000;
		printf("%.6f\n", tot);
	
}

}

```

---

<div class="post-metadata">

**Author:** ![v.bizzarri](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/v/7c8e57/32.png) [@v.bizzarri](https://forum.olinfo.it/u/v.bizzarri)\
**Post date:** [10 Febbraio 2020, 6:24pm UTC](https://forum.olinfo.it/t/secret-meeting-aiuto/6052/3 "2020-02-10T18:24:40Z")

</div>

Puoi vedere:

> [Secret Meeting(teleport2) 10/100 , con algoritmo presupposto corretto](https://forum.olinfo.it/t/secret-meeting-teleport2-10-100-con-algoritmo-presupposto-corretto/5907)

---

<div class="post-metadata">

**Author:** ![v.bizzarri](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/v/7c8e57/32.png) [@v.bizzarri](https://forum.olinfo.it/u/v.bizzarri)\
**Post date:** [10 Febbraio 2020, 9:13pm UTC](https://forum.olinfo.it/t/secret-meeting-aiuto/6052/4 "2020-02-10T21:13:04Z")

</div>

Credo che il problema stia nei quadrati calcolati dentro le radici quadrate (int\*int non sta sempre in un int).  
Convertite da int a double le coordinate dei 3 punti ha fatto 100/100.

---

<div class="post-metadata">

**Author:** ![alep](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/a/f19dbf/32.png) [@alep](https://forum.olinfo.it/u/alep)\
**Post date:** [10 Febbraio 2020, 10:07pm UTC](https://forum.olinfo.it/t/secret-meeting-aiuto/6052/5 "2020-02-10T22:07:05Z")

</div>

> [@v.bizzarri](#):
>
> Credo che il problema stia nei quadrati calcolati dentro le radici quadrate (int\*int non sta sempre in un int).  
> Convertite da int a double le coordinate dei 3 punti ha fatto 100/100.

grazie mille dell’aiuto, effettivamente cambiando le variabili delle coordinate da int a double da 100, ma sono abbastanza perplesso dato che ci avevo provato più di 2 o 3 volte a cambiare le coordinate da int a float o da int a double e mi dava 0/100… chissà cosa avrò scritto prima 🙂 😂

---

<div class="post-metadata">

**Author:** ![v.bizzarri](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/v/7c8e57/32.png) [@v.bizzarri](https://forum.olinfo.it/u/v.bizzarri)\
**Post date:** [11 Febbraio 2020, 12:00am UTC](https://forum.olinfo.it/t/secret-meeting-aiuto/6052/6 "2020-02-11T00:00:48Z")

</div>

Per essere precisi nella prova che ho fatto ho usato i cast e ad esempio:

> [@alep](#):
>
> prim = sqrt((Xa-Xb)_(Xa-Xb)+(Ya-Yb)_(Ya-Yb));

è diventato:

> prim = sqrt((double)(Xa-Xb)_(Xa-Xb)+(double)(Ya-Yb)_(Ya-Yb));
