萌新求助初赛
  • 板块学术版
  • 楼主zxqwq
  • 当前回复0
  • 已保存回复0
  • 发布时间2020/10/10 17:23
  • 上次更新2023/11/5 11:20:36
查看原帖
萌新求助初赛
158089
zxqwq楼主2020/10/10 17:23

这题还是很不理解,只会送的那几个暴力分,能讲讲这做法是为什么吗?

#include <iostream>
using namespace std;
const int N = 100010;
int n;
int L[N], R[N], a[N];
int main()
{
    cin >> n;
    for (int i = 1; i <= n; ++i)
    {
        int x;
        cin >> x;
        a[x] = i;//
    }
    for (int i = 1; i <= n; ++i)
    {
        R[i] = i + 1;//
        L[i] = i - 1;
    }
    for (int i = 1; i <= n; ++i)
    {
        L[R[a[i]]] = L[a[i]];//
        R[L[a[i]]] = R[a[i]];//
        for(int j=1;j<=n;j++)
        cout<<L[j]<<" ";
        cout<<endl;
        for(int j=1;j<=n;j++)
        cout<<R[j]<<" ";
        cout<<endl;
    }
    for (int i = 1; i <= n; ++i)
    {
        cout << R[i]<< " ";//
    }
    cout << endl;
    return 0;
}
2020/10/10 17:23
加载中...