Список вопросов
Страна замов. Напишите программу на Python
10th December, 18:14
425
0
На листе клетчатой бумаги рисуют выпуклый 100-угольник с вершинами в узлах сетки. Какое наибольшее число диагоналей этого 100-угольника может идти по линиям сетки?
7th November, 15:29
290
0
Рассмотрим все прямоугольники, длины сторон которых выражены целым числом метров, и периметр которых (в метрах) численно равняется площади (в метрах квадратных). Найдите суммарную площадь всех таких, разных по размеру сторон, прямоугольников.Прямоугольники, отличающиеся порядком сторон, например, 10 * 20 и 20 * 10 считаем одинаковыми.
7th October, 20:57
755
0
Кто и за сколько может написать программу управления курсором?
2nd October, 23:48
506
3
Как авторизоваться на novafilm.tv при помощи cURL?
2nd October, 23:33
388
3
Верстка, position:relative создает пустое место
2nd October, 23:31
329
2
Что улучшить в переводе Apache Public License?
2nd October, 23:29
333
1
Формирование кода видео Вконтакте
2nd October, 23:23
411
3
IPad2 с 3G из Штатов?
2nd October, 23:18
379
5
А будет ли tcpdump видеть ack flood?
2nd October, 23:14
298
2
Альфа банк и странное смс мошенничество?
2nd October, 23:05
676
6
Софт для "ремонта" поврежденного h264 видео?
2nd October, 22:55
307
3
Scrapy — Python
2nd October, 22:54
316
4
Помощь с доставкой из США?
2nd October, 22:47
348
3
Создание stop-motion ролика
2nd October, 22:41
379
5
Верстка ul/li в несколько колонок?
2nd October, 22:41
279
13
Существует ли поисковик, отсортированный по дате?
2nd October, 22:32
315
3
Вопрос к пользователям HTC HD7?
2nd October, 22:32
334
2
Как получить путь к аватару пользователя когда он авторизируется на сайте через openid google?
2nd October, 22:20
348
2
Что случилось с Кенгуру.ТВ?
2nd October, 22:19
387
3
Решение задачи Максимальная тройка с Acmp
Без пояснения   Просмотров: 175
В данной двумерной целочисленной таблице размером N × N требуется найти три элемента, сумма которых максимальна. При этом первый элемент должен быть соседним по горизонтали или вертикали со вторым, а второй — с третьим.
Код
// отправьте код, выбрав язык Microsoft Visual C++ #include using namespace std; int sz; vector< vector< short > > a; bool ind_cheker(unsigned i) { if(i < 0) return false; if(i >= sz) return false; return true; } int max_value(unsigned i, unsigned j) { int res = -400; bool iplus1 = ind_cheker(i + 1); bool jmin1 = ind_cheker(j - 1); bool jplus1 = ind_cheker(j + 1); bool imin1 = ind_cheker(i - 1); if(iplus1 * jmin1) res = max(a.at(i).at(j) + a.at(i + 1).at(j) + a.at(i + 1).at(j - 1), res); if(iplus1 * jplus1) res = max(a.at(i).at(j) + a.at(i + 1).at(j) + a.at(i + 1).at(j + 1), res); if(imin1 * jmin1) res = max(a.at(i).at(j) + a.at(i - 1).at(j) + a.at(i - 1).at(j - 1), res); if(imin1 * jplus1) res = max(a.at(i).at(j) + a.at(i - 1).at(j) + a.at(i - 1).at(j + 1), res); if(ind_cheker(i - 2)) res = max(a.at(i).at(j) + a.at(i - 1).at(j) + a.at(i - 2).at(j), res); if(ind_cheker(j - 2)) res = max(a.at(i).at(j) + a.at(i).at(j - 1) + a.at(i).at(j - 2), res); return res; } int main() { cin >> sz; vector< short > t(sz); for(unsigned i = 0; i < sz; ++i) { for(unsigned j = 0; j < sz; ++j) scanf("%hd", &t.at(j)); a.push_back(t); } int mx = -400; for(unsigned i = 0; i < a.size(); ++i) { for(unsigned j = 0; j < a.at(i).size(); ++j) { mx = max(max_value(i, j), mx); } } cout << mx; return 0; }
 
 
 
 
 
Автор: Администратор
