結果

問題 No.2790 Athena 3
ユーザー pengin_2000pengin_2000
提出日時 2024-06-21 21:29:31
言語 C
(gcc 12.3.0)
結果
AC  
実行時間 1 ms / 2,000 ms
コード長 801 bytes
コンパイル時間 1,070 ms
コンパイル使用メモリ 31,616 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-06-21 21:29:33
合計ジャッジ時間 1,811 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
6,812 KB
testcase_01 AC 1 ms
6,940 KB
testcase_02 AC 1 ms
6,940 KB
testcase_03 AC 1 ms
6,940 KB
testcase_04 AC 1 ms
6,940 KB
testcase_05 AC 1 ms
6,944 KB
testcase_06 AC 1 ms
6,940 KB
testcase_07 AC 1 ms
6,944 KB
testcase_08 AC 1 ms
6,940 KB
testcase_09 AC 1 ms
6,940 KB
testcase_10 AC 1 ms
6,944 KB
testcase_11 AC 1 ms
6,944 KB
testcase_12 AC 1 ms
6,940 KB
testcase_13 AC 1 ms
6,940 KB
testcase_14 AC 1 ms
6,944 KB
testcase_15 AC 1 ms
6,944 KB
testcase_16 AC 1 ms
6,940 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<stdio.h>
int abs(int n)
{
	if (n < 0)
		n *= -1;
	return n;
}
int f(int x[], int y[])
{
	return abs((x[1] - x[0]) * (y[2] - y[0]) - (x[2] - x[0]) * (y[1] - y[0]));
}
int max(int a, int b)
{
	if (a > b)
		return a;
	else
		return b;
}
int main()
{
	int x[3], y[3];
	int i, j, k;
	for (i = 0; i < 3; i++)
		scanf("%d%d", &x[i], &y[i]);
	int ans = 0;
	int dx[4] = { 1,-1,0,0 };
	int dy[4] = { 0,0,1,-1 };
	for (i = 0; i < 4; i++)
	{
		x[0] += dx[i];
		y[0] += dy[i];
		for (j = 0; j < 4; j++)
		{
			x[1] += dx[j];
			y[1] += dy[j];
			for (k = 0; k < 4; k++)
			{
				x[2] += dx[k];
				y[2] += dy[k];
				ans = max(ans, f(x, y));
				x[2] -= dx[k];
				y[2] -= dy[k];
			}
			x[1] -= dx[j];
			y[1] -= dy[j];
		}
		x[0] -= dx[i];
		y[0] -= dy[i];
	}
	printf("%.1lf\n", ans / 2.0);
	return 0;
}
0