1 条题解

  • 0
    @ 2026-5-17 14:27:39
    #include <bits/stdc++.h>
    using namespace std;
    
    int n,q,a[1000005],b[1000005],x;
    
    int main () {
    	scanf("%d%d",&n,&q);
    	for (int i = 1;i <= n;i++) a[i] = i;
    	for (int i = 1;i <= n;i++) b[i] = i;
    	while (q--) {
    		scanf("%d",&x);
    		int wz = b[x];
    		if (wz == n) {
    			swap(a[wz],a[wz - 1]);
    			swap(b[a[wz]],b[a[wz - 1]]);
    		}
    		else {
    			swap(a[wz],a[wz + 1]);
    			swap(b[a[wz]],b[a[wz + 1]]);
    		}
    	}
    	for (int i = 1;i <= n;i++) printf("%d ",a[i]);
    	return 0;
    }
    
    • 1

    信息

    ID
    11511
    时间
    2000ms
    内存
    1024MiB
    难度
    6
    标签
    递交数
    25
    已通过
    11
    上传者