結果
問題 | No.55 正方形を描くだけの簡単なお仕事です。 |
ユーザー |
|
提出日時 | 2022-03-09 08:29:02 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,010 bytes |
コンパイル時間 | 396 ms |
コンパイル使用メモリ | 32,256 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-13 06:13:04 |
合計ジャッジ時間 | 1,117 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 21 |
ソースコード
#include <stdio.h>#include <stdlib.h>#include <math.h>int main(void) {int i, a, b, f = 0;double ra[3], rb[3], l[3], x, y;for (i = 0; i < 3; i++) {scanf("%d %d", &a, &b);ra[i] = (double)a;rb[i] = (double)b;}for (i = 0; i < 3; i++)l[i] = sqrt(pow(ra[i] - ra[(i + 1) % 3], 2.0) + pow(rb[i] - rb[(i + 1) % 3], 2.0));x = y = 0.0;for (i = 0; i < 3; i++) {if (fabs(l[i] - l[(i + 1) % 3]) <= 1e-6 && fabs(pow(l[i], 2.0) + pow(l[(i + 1) % 3], 2.0) - pow(l[(i + 2) % 3], 2.0)) <= 1e-6) {switch (i) {case 0:x = ra[0] - ra[1] + ra[2];y = rb[0] - rb[1] + rb[2];break;case 1:x = ra[0] + ra[1] - ra[2];y = rb[0] + rb[1] - rb[2];break;case 2:x = -ra[0] + ra[1] + ra[2];y = -rb[0] + rb[1] + rb[2];break;}f = 1;}}if (f == 1)printf("%d %d", (int)x, (int)y);elseprintf("-1");return EXIT_SUCCESS;}