C. носки ограничение времени 1 секунда ограничение памяти 64mb ввод socks.in вывод socks.out у программиста васи время от времени случается загадочная аномалия: свои носки он всегда кладет в стиральную машину парами и потом тщательно развешивает стиранные вещи на вешалку, но когда он снимает высушенную одежду с вешалки, выясняется, что носки далеко не всегда можно собрать в пары. то, кажется, потерялся некий носок, то какой даже постирался, какой не должен ничего не понятно. чтобы меньше пропадало носков, вася пытается покупать побольше одинаковых, но все равно происходит путанница. вася решил вести учет стирки носков. каждый новый носок вася помечает кодом - последовательностью заглавных латинских букв длиной от 2 до 15 символов. два одинаковых носка помечаются одной и той же последовательностью. после очередной стирки и сушки, пары по два одинаковых носка (помеченные одинаковой последовательностью) складываются вместе и убираются в шкаф. а вот оставшиеся непарные носки складываются в специальный пакет. после каждых четырёх стирок содержимое пакета перебирается, сформировавшиеся пары убираются в шкаф. а вот оставшиеся в пакете носки выбрасываются. напишите программу, которая по имеющимся высушенных в результате каждой стирки носков, определяет сколько носков вася выбросил. формат ввода входной файл socks.in в первой строке содержит количество стирок - натуральное число не превосходящее 400. каждые следующие две строки описывают одну стирку. первая из двух таких строк содержит количество носков (не более 200), обнаруженных после стирки и сушки, а вторая - коды носков через пробел. формат вывода в выходной файл socks.out вывести единственное число - количество выброшенных носков.
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
srand((int)time(0));
int M, N;
cout << "M="; cin >> M;
do
{
cout << "N="; cin >> N;
if (N%2!=0) cout << "N - even. Repeat please...\n";
}
while (N%2!=0);
double **a = new double*[M];
for (int i = 0; i < M; i++)
a[i]=new double[N];
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
a[i][j]=rand()%9 + 1;
cout << a[i][j] << " ";
}
cout << "\n";
}
cout << "\n";
for (int i = 0; i < M; i++)
for (int j = 0; j < N/2; j++)
swap (a[i][j],a[i][j+N/2]);
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
cout << a[i][j] << " ";
cout <<"\n";
}
for (int i = 0; i < M; i++)
delete[]a[i];
delete[]a;
system("pause");
return 0;
}
Объяснение: