結果
| 問題 |
No.2790 Athena 3
|
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 2024-11-06 16:45:50 |
| 言語 | Go (1.23.4) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 756 bytes |
| コンパイル時間 | 13,516 ms |
| コンパイル使用メモリ | 223,840 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-11-06 16:46:04 |
| 合計ジャッジ時間 | 13,785 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 14 |
ソースコード
package main
import . "fmt"
import . "math"
type P struct {
x,y float64
}
func (p *P)Scan(state ScanState, verb rune) error {
_,err:=Fscan(state,&p.x,&p.y)
return err
}
func (p *P)Dist(t *P)float64 {
dx:=p.x-t.x
dy:=p.y-t.y
return Sqrt(dx*dx+dy*dy)
}
func (p *P)Move(d *P)*P {
return &P{
x:p.x+d.x,
y:p.y+d.y,
}
}
func Triangle(a,b,c *P)float64 {
s:=a.Dist(b)
t:=b.Dist(c)
u:=c.Dist(a)
k:=(s+t+u)/2
return Sqrt(k*(k-s)*(k-t)*(k-u))
}
func main() {
a,b,c:=&P{},&P{},&P{}
Scan(a,b,c)
d:=[]*P{
&P{0,1},
&P{0,-1},
&P{1,0},
&P{-1,0},
}
var m float64
for _,s:=range d {
s=a.Move(s)
for _,t:=range d {
t=b.Move(t)
for _,u:=range d {
u=c.Move(u)
m=Max(m,Triangle(s,t,u))
}
}
}
Printf("%.10f\n",m)
}
ID 21712