0
点赞
收藏
分享

微信扫一扫

AcWing 3730. 寻找序列 (构造)

三次方 2022-04-19 阅读 52

题目:3730. 寻找序列

在这里插入图片描述
在这里插入图片描述
题解:说白了就是新的数组的d[i]和左右两边的数均不相等,而a,b,c同一下标 的数均不相同,所以一定存在满足要求的新数组。

#include<bits/stdc++.h>

using namespace std;
typedef long long LL;
typedef pair<int ,int> PII;
const int N=2e5+10;
const int mod=100000007;

int main(){
    int T;
    cin>>T;
    while(T--){
        int n;
        int a[110],b[110],c[110];
        cin>>n;
        for(int i=0;i<n;i++) cin>>a[i];
        for(int i=0;i<n;i++) cin>>b[i];
        for(int i=0;i<n;i++) cin>>c[i];
        int d[110];
        d[0]=a[0];
        for(int i=1;i<n-1;i++){
            if(a[i]==d[i-1]){
                d[i]=b[i];
            }else{
                d[i]=a[i];
            }
        }
        if(a[n-1]!=d[n-2]&&a[n-1]!=d[0]){
            d[n-1]=a[n-1];
        }else if(b[n-1]!=d[n-2]&&b[n-1]!=d[0]){
            d[n-1]=b[n-1];
        }else{
            d[n-1]=c[n-1];
        }
        for(int i=0;i<n;i++)
            cout<<d[i]<<" ";
        cout<<endl;
    }
    return 0;
}


举报

相关推荐

0 条评论