Предлагается хранить типы блоков в массиве. Каждый элемент - 2Б, количество элементов - 2^20 => всего требуется 2МБ.
При перезаписи блока и очередной переоценке необходимо учитывать типы данных в блоке до перезаписи (T0), после перезаписи (T1) и в соседних блоках (TL, TR).
Если T0 = T1, то количество кусков данных не изменяется, т.е. W[i+1] = W[i] TL = T0 = TR <> T1 -> W[i+1] = W[i] + 2 TL = T1 = TR <> T0 -> W[i+1] = W[i] - 2 TL = TR, T0 <> TL, T1 <> TL -> W[i+1] = W[i]
Если все четыре типа не совпадают, то W[i+1] = W[i] Если перезаписывается блок с адресом 0, считать, что тип TL не совпадает ни с одним из трех других.Аналогично при перезаписи блока с адресом , но для TR.
Можно заметить, что нас с каждым днем окружает все больше электронных приборов, делающих нашу жизнь проще. Компьютеры, телевизоры, сотовые телефоны, электрочайники, умные автомобили и много чего еще в этом духе. В принципе удивительного в этом ничего нет. Человек стремится максимально улучшить, упростить свою жизнь, избавить себя от рутины. Для этого он изобретает все новые и более совершенные технологии. Так были изобретены первые роботы. Роботы уже полной мерой вошли в нашу жизнь. Теперь мы просто не представляем ее без них. Некоторые роботы готовят еду, некоторые роботы разносят лекарства, убирают, стирают и выполняют огромное количество других функций. Если заглянуть немного в будущее, то можно предположить, что появятся роботы, которые будут нам по дому, будут для нас что-то типа прислуги. Смогут выгуливать наших домашних животных нашим детям готовить домашние задания, сидеть с младенцами, когда родителям нужно отъехать куда-нибудь. Да и внешне они будут выглядеть точно также как и люди.
a-возраст CАши
b– возраст Маши
Program r;
Var a,b: integer;
Begin
Readln(a,b);
If a=b then writeln («ровесники»)else writeln( «неровесники»)
End.