The 2022 Zhejiang University City College Freshman Programming Contest
L - Elden Ring
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,k;cin>>n>>m>>k;int a[10000],b[100000];//a存1——n的元素,b存n+1——2*n的元素
for(int i=1;i<=n;i++)
a[i]=i;
for(int i=n+1;i<=2*n;i++)
b[i]=i;
int j=1;int p=0,q=n;
while(k--)
{
p++,q++;
if(j==m)//数到了m则交换位置,j重新从1开始
{
swap(a[p],b[q]);
j=1;
}
else
j++;
if(p==n) p=0;
if(q==2*n) q=n;//p、q走到了数组尾巴,则从头开始遍历
}//
for(int i=1;i<=n;i++)
cout<<a[i]<<' ';
for(int i=n+1;i<=n*2;i++)
cout<<b[i]<<' ';
return 0;
}