結果

問題 No.2790 Athena 3
ユーザー pengin_2000pengin_2000
提出日時 2024-06-21 21:29:31
言語 C
(gcc 13.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
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 14
権限があれば一括ダウンロードができます

ソースコード

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