ответ: Только не точь в точь, а то за это бан)
#include <iostream>
#include <vector>
#include <cstdint>
using namespace std; template <class T>
istream& operator>>(istream &in, vector<T> &vec) { for (auto &it : vec) in >> it; return in;
}
template <class T>
ostream& operator<<(ostream &out, vector<T> &vec) { for (auto &it : vec) out << it << ' '; return out;
}
template <class T, class U>
istream& operator>>(istream &in, pair<T, U> &pair){
in >> pair.first >> pair.second; return in;
}
template <class T, class U>
ostream& operator<<(ostream &out, pair<T, U> &pair) { out << pair.first << ' ' << pair.second; return out;
}
signed main(void) { int32_t n; cin >> n; vector<vector<int64_t>> a(n, vector<int64_t>(n,-1));
int64_t x = 0, y = n/2;
a[x][y] = 1;
for(int32_t i = 2; i <= n*n; ++i) {
int _x = x, _y = y;
if(!x) {
x = n-1;
}else {
x-=1;
}
if(y == n-1){
y = 0;
}else {
y++;
}
if(a[x][y] != -1){
x= _x, y = _y;
while(a[x][y] != -1){
if(x == n-1){
x = 0;
}else{
x++;
}
}
}
a[x][y] = i;
}
for(int32_t i = 0; i < n; ++i){
cout << a[i] << '\n';
}
return 0;
}
У вас есть 4-ая? Я щас создам вопрос!
Если , оцени)
Поделитесь своими знаниями, ответьте на вопрос:
Кузнечик прыгает по столбикам, расположенным на одной линии на равных расстояниях друг от друга. столбики имеют порядковые номера от 1 до n . в начале кузнечик сидит на столбике с номером 1. он может прыгнуть вперед на расстояние от 1 до k столбиков, считая от текущего. требуется найти количество которыми кузнечик может добраться до столбика с номером n . учитывайте, что кузнечик не может прыгать назад. входные данные входная строка содержит натуральные числа n и k , разделённые пробелом. гарантируется, что 1 ≤ n , k ≤ 32 . выходные данные программа должна вывести одно число: количество которыми кузнечик может добраться до столбика с номером n . примеры входные данные 5 4 выходные данные 8 программа должна быть на питоне
n=int(input())
k=int(input())
a=[1]
for i in range(1,n):
for j in range(i-1,i-k-1,-1):
if j<0 :
break
a.append(0)
a[i]+=a[j]
print(a[n-1])