AcWing 1762. 牛的洗牌

AcWing 1762. 牛的洗牌

思路:暴力逆推3次,我们发现上一轮和本轮的关系是preid[i]=id[a[i]]

代码:

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 110;

int a[N],id[N];

int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++) cin >> id[i];
    
    for(int k=0;k<3;k++){
        int p[N];
        for(int i=1;i<=n;i++) p[i]=id[a[i]];
        
        memcpy(id,p,sizeof p);
    }
    
    for(int i=1;i<=n;i++)
        cout<< id[i] << endl;
    
    return 0;
}
上一篇:mysql根据表名或字段名查询表或字段所在库


下一篇:【强化学习实战】Q-learning:控制agent向右走的小例子