AcWing 1762. 牛的洗牌(暴力)

Posted MangataTS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AcWing 1762. 牛的洗牌(暴力)相关的知识,希望对你有一定的参考价值。

题目链接

https://www.acwing.com/problem/content/1764/

思路

因为我们要做三次它的排序,那么我们初始状态的话每个位置上的编号就是本身,然后我们定义一个b数组表示的是最后排出的结果,那么每次我们更新b数组的值的时候需要用到我们上一个状态的值,所以我们定义一个c数组存储b数组上一个状态的值即可,最后我们按照我们b数组顺序将字符串映射到对应的地方即可,详情请看代码

代码

#include<bits/stdc++.h>
using namespace std;

const int N = 1e2+10;
int a[N],n,b[N],c[N];
vector<string> V(N);

int main()

    cin>>n;
    for(int i = 1;i <= n; ++i) cin>>a[i],b[i] = i,c[i] = i;
    for(int i = 1;i <= 3; ++i,memcpy(c,b,sizeof b))
        for(int j = 1;j <= n; ++j)
            b[a[j]] = c[j];
    string s;
    for(int i = 1;i <= n; ++i)
        cin>>s,V[b[i]] = s;
    for(int i = 1;i <= n; ++i) cout<<V[i]<<endl;
    return 0;

以上是关于AcWing 1762. 牛的洗牌(暴力)的主要内容,如果未能解决你的问题,请参考以下文章

AcWing 1855. 愤怒的奶牛(枚举+暴力)

AcWing 1776. 牛的基因组学(STL+枚举)

AcWing 3745. 牛的学术圈 I 理解题意+枚举答案(妙)

acwing 3745. 牛的学术圈 I(构造)

AcWing1125 牛的旅行(floyd)

AcWing 1913. 公平摄影(前缀和+STL)