#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int n(0),m(0);
cin >> n >> m;
int matrix[n][m];
char arr[n][m];
arr[0][0] = '0';
for(int i = 0;i<n;++i){
for(int j = 0;j<m;++j){
cin >> matrix[i][j];
if(!i && !j)continue;
if(!i){
matrix[i][j] += matrix[i][j-1];
arr[i][j] = 'R';
}
if(!j){
matrix[i][j] += matrix[i-1][j];
arr[i][j] = 'D';
}
if(i && j){
matrix[i][j] += max(matrix[i-1][j],matrix[i][j-1]);
if(max(matrix[i-1][j],matrix[i][j-1]) == matrix[i-1][j])arr[i][j] = 'D';
else arr[i][j] = 'R';
}
}
}
cout << matrix[n-1][m-1];
cout << "\n";
string s;
for(int i = n-1;;){
for(int j = m-1;;){
if(arr[i][j] == '0'){
reverse(s.begin(),s.end());
s.erase(0,1);
cout << s << endl;
return 0;
}
s.push_back(arr[i][j]);
s.push_back(' ');
if(arr[i][j] == 'R'){
j -= 1;
continue;
}
if(arr[i][j] == 'D'){
i -= 1;
continue;
}
}
}
cout << endl;
return 0;
}
Объяснение:
тогда
900:3=300 - менеджеры
900:3=300 - разнораб
900:3=300 -инженеры
900:2=450 - отдел сбыта
900:4=225 - произв отдел
900:4=225 - отдел снабж
А) В отделе сбыта есть хотя бы один менеджер.
менеджеров 300, других сотрудников - 600, в отделе сбыта - 450 человек. Высказывание ложное, ведь там могут быть только разнорабочие и инженеры. из тех 600 человек
(Б) В каждом отделе может быть поровну менеджеров, инженеров и разнорабочих при любом не противоречащем условию задачи общем числе работников.
450:3=150 чел -по стольку из каждого звена в отд сбыта
225:3=75 чел - по стольку из кажд звена в произ от
225:3=75 чел - по стол из кажд звена в от снабж
Чтобы в каждом отделе было одинаковое число каждого звена, то в каждом звене должно быть
150+75+75=300 человек, а у нас в каждом звене 300 человек
высказывание истинное
(В) Если в отделе снабжения работают только менеджеры, то в производственном отделе есть хо- тя бы один разнорабочий.
произв отдел - 225 человек. Высказывание ложное, поскольку там могут работать
только инженеры, которых 300 человек, или инженеры и оставшиеся менеджеры, которых осталось 75 человек
(Г) Если в отделе с ения работают только инженеры, то в отделе сбыта есть хотя бы один раз- норабочий.
300-225=75 инж осталось
отдел сбыта - 450 человек
пусть там работают все менеджеры, 300 чел и оставшиеся инженеры, 75 чел, всего
300+75=375 человек
в отд сбыта 450чел, значит остается место для разнорабочих. Высказывание истинное