Решение задачи "Морской бой" с Codeforces

Без пояснения   Просмотров: 15


Чтобы разнообразить игру «морской бой» Боря решил добавить в неё новый тип кораблей. Эти корабли состоят из двух прямоугольников. Первый прямоугольник имеет ширину w1 и высоту h1, а второй прямоугольник — w2 и h2 соответственно, причём w1≥w2. В этой игре используется ровно один корабль, составленный из двух прямоугольников. Других кораблей на поле нет.

Прямоугольники располагаются один над другим и выровнены по левому краю. Прямоугольники примыкают друг к другу без промежутка. Ознакомьтесь с рисунками внизу условия: первый прямоугольник — красный, а второй — синий.

Опишем формально их расположение. Введём на поле систему координат так, чтобы левая нижняя клеточка первого прямоугольника имела координаты (1,1). Тогда верхняя правая клеточка первого прямоугольника имеет координаты (w1,h1), левая нижняя клеточка второго прямоугольника имеет координаты (1,h1+1), а правая верхняя клеточка второго прямоугольника имеет координаты (w2,h1+h2).

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

Определите, сколько клеток надо будет отметить после уничтожения корабля, придуманного Борей. Поле, на котором, происходит игра, бесконечно во все стороны.

Код

#include<bits/stdc++.h>
using namespace std;
int a,b,c,d;
int main()
{
	cin>>a>>b>>c>>d;
	cout<<2*(a+2)+2*(b+d+2)-4;
	return 0;
}

         

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


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

Комментарии

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