Решение задачи "Битый пиксель " с Codeforces

С пояснением   Просмотров: 31


Разрешение монитора у Поликарпа составляет a×b пикселей. Одна беда — на экране есть ровно один битый пиксель. Его координаты составляют (x,y) (0≤x
Поликарп хочет открыть прямоугольное окно максимального размера, которое не содержит битый пиксель. Стороны окна должны быть параллельны сторонам экрана монитора.

Выведите какую максимальную площадь (в пикселях) может иметь окно на экране Поликарпа, которое не содержит битый пиксель.

Код

#include <iostream>
using namespace std;
int main()
{
	int T, a, b, x, y;
	for(cin >> T; T; T--){
		cin >> a >> b >> x >> y;
		cout << max(max(x, a-x-1) * b, max(y, b-y-1) * a) << endl;
	}
}

         


<div style=

A PHP Error was encountered

Severity: Notice

Message: Undefined index: first_name

Filename: templates/tasksdecision_view.php

Line Number: 133

Backtrace:

File: /var/www/u0984434/data/www/hsecodes.com/application/views/templates/tasksdecision_view.php
Line: 133
Function: _error_handler

File: /var/www/u0984434/data/www/hsecodes.com/application/controllers/Tasksdecision.php
Line: 120
Function: view

File: /var/www/u0984434/data/www/hsecodes.com/index.php
Line: 315
Function: require_once

Администратор Photo" /> Автор:


Можно заметить, что нет смысла располагать окно так, чтобы оно не касалось битого пикселя — в таком случае его можно расширить.

Есть четыре возможных способа расположить окно вплотную к битому пикселю — можно расположить его под, над, слева или справа от битого пикселя.

если расположить окно слева от пикселя, максимальный размер будет равен x⋅b;
если расположить окно слева от пикселя, максимальный размер будет равен (a−1−x)⋅b;
если расположить окно слева от пикселя, максимальный размер будет равен a⋅y;
если расположить окно слева от пикселя, максимальный размер будет равен a⋅(b−1−y).
Эти четыре случая можно объединить одной формулой вида max(max(x,a−1−x)⋅b,a⋅max(y,b−1−y))

Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться