或许可以用多个列表来解题
查看原帖
或许可以用多个列表来解题
1750199
PJZ_ZWZ楼主2025/7/28 23:06

以下为我解题步骤:

#include<bits/stdc++.h> 
using namespace std;//命名空间
int main()
{
    int n,k,m;
    cin>>n>>k>>m;
    int ls[1111]={0},z[511]={0},y[511]={0};
    for(int i=1;i<=n;i++){
        ls[i] = i;
    }
    while(k--){
        for(int i=1;i<=n/2;i++){
            z[i] = ls[i];
        }
        for(int i=1;i<=n/2;i++){
            y[i] = ls[i+n/2];
        }
        for(int i=1;i<=n;i+=2){
            ls[i] = z[i/2+1];
            ls[i+1] = y[i/2+1];
        }
    }
    cout<<ls[m];
	return 0;
}
2025/7/28 23:06
加载中...