結果
問題 |
No.55 正方形を描くだけの簡単なお仕事です。
|
ユーザー |
|
提出日時 | 2019-12-14 16:39:15 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 5,000 ms |
コード長 | 1,125 bytes |
コンパイル時間 | 251 ms |
コンパイル使用メモリ | 30,976 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-28 03:13:00 |
合計ジャッジ時間 | 1,199 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 21 |
ソースコード
#include <stdio.h> #include <stdlib.h> static int p[4][2]; static int c[2]; void sum(int a, int b); int right(void); int main(void) { int o; for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { scanf("%d", &p[i][j]); } } o = right(); if (o == -1) { printf("%d\n", o); return EXIT_SUCCESS; } sum((o+1)%3, (o+2)%3); p[3][0] = c[0]-p[o][0]; p[3][1] = c[1]-p[o][1]; printf("%d %d\n", p[3][0], p[3][1]); return EXIT_SUCCESS; } void sum(int a, int b) { for (int i = 0; i < 2; i++) { c[i] = p[a][i] + p[b][i]; } return; } int right(void) { int i1, i2; int ax, ay; int bx, by; int in[3]; for (int i = 0; i < 3; i++) { i1 =(i+1) % 3; i2 = (i+2) % 3; ax = p[i1][0] - p[i][0]; ay = p[i1][1] - p[i][1]; bx = p[i2][0] - p[i][0]; by = p[i2][1] - p[i][1]; in[i] = ax*bx + ay*by; } for (int i = 0; i < 3; i++) { if (in[i] == 0) { if (in[(i+1)%3] == in[(i+2)%3]) { return i; } } } return -1; }