模拟
#include<bits/stdc++.h>
#include<vector>
using namespace std;
const int N = 1e4+9;
int mxh[N];
int main()
{
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);//取消同步流,让C++代码更快
int n;
cin>>n;
vector<int> h(n);//记录每棵树的高度
for(int d = 1;d <= n;d++)
{
for(int i = 0;i < h.size();i++)
{
h[i] += 1;
h[d - 1] = 0;
mxh[i] = max(mxh[i], h[i]);
}
}
//第一次调转方向
for(int d = n;d >=1;d--)
{
for(int i = 0;i < h.size();i++)
{
h[i] += 1;
h[d - 1] = 0;
mxh[i] = max(mxh[i], h[i]);
}
}
//第二次调转方向
for(int d = 1;d <= n;d++)
{
for(int i = 0;i < h.size();i++)
{
h[i] += 1;
h[d - 1] = 0;
mxh[i] = max(mxh[i], h[i]);
}
}
for(int i = 0;i < h.size();i++)
{
cout<< mxh[i] <<endl;
}
return 0;
}
0 回复
0 转发
0 喜欢
0 阅读



