#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,k;
cin>>n>>m>>k;
if(k==m*n-1){
cout<<"IMPOSSIBLE";
return 0;
}
char a[n][m];
for(int i = 0; i<n; i++){
for(int j = 0; j<m; j++){
if(k>0){
a[i][j]='U';
k--;
cout<<'U';
} else if((a[i-1][j]=='U' || i==0) && i==n-1 && j!=m-1){
cout<<'R';
} else if((a[i-1][j]=='U' || i==0) && i==n-1 && j==m-1){
a[i][j] = 'L';
cout<<'L';
} else if(i==n-1 && a[i-1][j]!='U') {
cout<<'U';
} else {
cout<<'D';
}
}
cout<<endl;
}
return 0;
}
Объяснение
код написан на языке с++;
есть 5 случаев которые приведены в картинках ниже + случай когда n*m-1=k выводит Impossible
Поделитесь своими знаниями, ответьте на вопрос:
Написать программу для вычисления суммы для подготовки выплаты зарплат 10 сотрудникам
1. Находим общее количество пикселей
n = 1024×768 = 786432
2. Находим количество бит, необходимое для отображения цвета одного пикселя
k=㏒₂64 = 6 (или просто вспоминаем, что 64=2⁶)
3. Определяем объем информации в битах
I = n×k = 786432×6 = 4718592 бит
4. Переводим в более крупные единицы
- в байты: 1 байт=8 бит; 4718592 бит/8 = 589824 байт
- в Кбайты: 1 Кбайт=1024 байта; 589824 байт/1024 = 576 Кбайт
- в Мбайты: 1 Мбайт=1024 Кбайта; 576 Кбайт/1024 = 0.5625 Мбайт.
Б. Решение "в степенях двойки"
1. Находим общее количество пикселей
n = 1024×768 = 2¹⁰×2⁹×1.5 = 2¹⁹×1.5
2. Находим количество бит, необходимое для отображения цвета одного пикселя
k=㏒₂64 = 6 (или просто вспоминаем, что 64=2⁶)
3. Определяем объем информации в битах
I = n×k = 2¹⁹×1.5×6 = 2¹⁹×9 бит
4. Переводим в более крупные единицы
- в байты: 1 байт=2³ бит; 2¹⁹×9 бит/2³ = 2¹⁶×9 байт
- в Кбайты: 1 Кбайт=2¹⁰ байт; 2¹⁶×9 байт/2¹⁰ = 2⁶×9 Кбайт = 64×9 = 576 Кбайт
- в Мбайты: 1 Мбайт=2¹⁰ Кбайт; 2⁶×9 Кбайт/2¹⁰ = 2⁻⁴×9 Мбайт = 9/16 Мбайт = 0.5625 Мбайт.