Построение любой модели начинается … выберите один из 3 вариантов ответа: 1) с выбора вида будущей модели. 2) с выделения свойств и признаков объекта – оригинала 3) с определения цели моделирования
program n_1; type nazw = array[0..9] of String[15]; const ed : nazw = ('ноль','один','два','три','четыре','пять','шесть','семь','восемь','девять'); des: nazw = ('','десять','двадцать','тридцать','сорок','пятьдесят', 'шестьдесят','семьдесят','восемьдесят','девяносто'); sot: nazw = ('','сто','двести','тристо','четыресто','пятьсот','шестьсот','семьсот','восемьсот','девятьсот'); dd : nazw = ('','одинадцать','двенадцать','тринадцать','четырнадцать','пятнадцать', 'шестнадцать','семнадцать','восемьнадцать','девятнадцать'); var s,d,e,x : Integer; st : String; Begin Write('Введите число [0..1000] :'); Readln(x); if x=1000 then st:='тысяча' else begin s:= x div 100; x:=x mod 100; st:=sot[s]; d:= x div 10; e:=x mod 10; if (d=1) and (e<>0) then st:=st+dd[e] else st:=st+des[d]+ed[e]; end; writeln(st); End.
Каждая из компонент связности должна быть кликой (иначе говоря, каждые две вершины в одной компоненте связности должны быть связаны ребром). Если в i-ой компоненте связности вершин, то общее число рёбер будет суммой по всем компонентам связности:
Требуется найти максимум этого выражения (т.е. на самом деле - максимум суммы квадратов) при условии, что сумма всех ni равна N и ni - натуральные числа.
Если K = 1, то всё очевидно - ответ N(N - 1)/2. Пусть K > 1.
Предположим, n1 <= n2 <= ... <= nK - набор чисел, для которых достигается максимум, и n1 > 1. Уменьшим число вершин в первой компоненте связности до 1, а оставшиеся вершины "перекинем" в K-ую компоненту связности. Вычислим, как изменится сумма квадратов:
Поскольку по предположению n1 > 1 (тогда и nK > 1), то сумма квадратов увеличится, что противоречит предположению о том, что на выбранном изначально наборе достигается максимум. Значит, максимум достигается, если наименьшая по размеру компонента связности - изолированная вершина. Выкинем эту компоненту связности, останутся K - 1 компонента связности и N - 1 вершина. Будем продолжать так делать, пока не останется одна вершина, тогда получится, что во всех компонентах связности кроме последней должно быть по одной вершине.