题目: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;
}