Ja, die Fläche des Dreiecks ergibt sich aus den Koordinaten der drei Punkte ~ ~ http://abc002.contest.atcoder.jp/tasks/abc002_3
Selbst wenn Sie die Dreipunktkoordinaten kennen, ist ein Punkt der Einfachheit halber nicht immer (0,0), und es scheint sehr mühsam zu sein ...
Ich dachte, aber als ich ein wenig nachschaute, stieß ich auf eine Geschichte, dass einer von ihnen als (0,0) entschieden werden sollte.
Ein Hinweis des Beamten während der Zeit
3 Punkte(0,0), (a,b), (c,d)Die Fläche des Dreiecks bestehend aus|ad−bc|⁄2. (Dieser Tipp wurde eine Stunde nach Beginn des Wettbewerbs veröffentlicht. darüber. Ja.
Code eingereicht.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import time
import sys
import io
import re
import math
#start = time.time()
#start = time.clock()
(xa,ya, xb,yb, xc,yc) = map(int, raw_input().split())
xa=xa-xc
ya=ya-yc
xb=xb-xc
yb=yb-yc
xc,yc=0,0
j=(xa*yb)-(ya*xb)
if j<0: j=j*(-1)
S=j/2.0
print S
Ich beschloss, die drei Punkte als (xa, ya) (xb, yb) (xc, yc) zu erhalten. xc,Ich habe beschlossen, yc auf 0 zu setzen, also a,Von jedem von b subtrahieren|ad−bc|Mit der Formel von ⁄2. Es scheint jedoch, dass die Berechnung seltsam ist, wenn sie mit Minuskoordinaten gemischt wird. Wenn sie also kleiner als 0 ist, habe ich sie mit -1 multipliziert. Es scheint, dass es andere Situationen gibt, in denen die Fläche des Dreiecks mit dieser Methode berechnet wird. Daher ist es später hilfreich, wenn Sie einen saubereren Schreibstil verstehen und speichern, indem Sie sich die Beiträge anderer Personen ansehen.
Recommended Posts