結果
| 問題 |
No.55 正方形を描くだけの簡単なお仕事です。
|
| コンテスト | |
| ユーザー |
tsuchinaga
|
| 提出日時 | 2019-04-01 15:08:38 |
| 言語 | Go (1.23.4) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 928 bytes |
| コンパイル時間 | 10,899 ms |
| コンパイル使用メモリ | 240,492 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-11-25 02:35:12 |
| 合計ジャッジ時間 | 11,783 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 18 WA * 3 |
ソースコード
package main
import (
"fmt"
)
func main() {
var x1, y1, x2, y2, x3, y3 float64
_, _ = fmt.Scan(&x1, &y1, &x2, &y2, &x3, &y3)
sa := (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)
sb := (x2-x3)*(x2-x3) + (y2-y3)*(y2-y3)
sc := (x3-x1)*(x3-x1) + (y3-y1)*(y3-y1)
// fmt.Println(sa, sb, sc)
// 3辺の長さがすべて同じか、すべて違う場合は正方形を作れない
if (sa == sb && sb == sc && sc == sa) || (sa != sb && sb != sc && sc != sa) {
fmt.Println(-1)
return
}
// 4つ目の点の位置
var x4, y4 float64
if sa == sb && sa*2 == sc {
x4, y4 = x3+x1-x2, y3+y1-y2
} else if sb == sc && sb*2 == sa {
x4, y4 = x1+x2-x3, y1+y2-y3
} else if sc == sa && sc*2 == sb {
x4, y4 = x2+x3-x1, y2+y3-y1
}
// fmt.Println(x4, y4)
// 方眼紙にかけるか = 整数かのチェック
if x4 == float64(int(x4)) && y4 == float64(int(y4)) {
fmt.Printf("%.0f %.0f", x4, y4)
} else {
fmt.Println(-1)
}
}
tsuchinaga