Sengoku still remembers the mysterious "colourful meteoroids" she discovered with Lala-chan when they were little. In particular, one of the nights impressed her deeply, giving her the illusion that all her fancies would be realized.
On that night, Sengoku constructed a permutation p1, p2, ..., pn of integers from 1 to n inclusive, with each integer representing a colour, wishing for the colours to see in the coming meteor outburst. Two incredible outbursts then arrived, each with n meteorids, colours of which being integer sequences a1, a2, ..., an and b1, b2, ..., bn respectively. Meteoroids' colours were also between 1 and ninclusive, and the two sequences were not identical, that is, at least one i (1 ≤ i ≤ n) exists, such that ai ≠ bi holds.
Well, she almost had it all — each of the sequences a and b matched exactly n - 1 elements in Sengoku's permutation. In other words, there is exactly one i (1 ≤ i ≤ n) such that ai ≠ pi, and exactly one j (1 ≤ j ≤ n) such that bj ≠ pj.
For now, Sengoku is able to recover the actual colour sequences a and b through astronomical records, but her wishes have been long forgotten. You are to reconstruct any possible permutation Sengoku could have had on that night.
InputThe first line of input contains a positive integer n (2 ≤ n ≤ 1 000) — the length of Sengoku's permutation, being the length of both meteor outbursts at the same time.
The second line contains n space-separated integers a1, a2, ..., an (1 ≤ ai ≤ n) — the sequence of colours in the first meteor outburst.
The third line contains n space-separated integers b1, b2, ..., bn (1 ≤ bi ≤ n) — the sequence of colours in the second meteor outburst. At least one i (1 ≤ i ≤ n) exists, such that ai ≠ bi holds.
OutputOutput n space-separated integers p1, p2, ..., pn, denoting a possible permutation Sengoku could have had. If there are more than one possible answer, output any one of them.
Input guarantees that such permutation exists.
Examples input 5 1 2 3 4 3 1 2 5 4 5 output 1 2 5 4 3 input 5 4 4 2 3 1 5 4 5 3 1 output 5 4 2 3 1 input 4 1 1 3 4 1 4 3 4 output 1 2 3 4 NoteIn the first sample, both 1, 2, 5, 4, 3 and 1, 2, 3, 4, 5 are acceptable outputs.
In the second sample, 5, 4, 2, 3, 1 is the only permutation to satisfy the constraints.
题意:给你两个序列a和b,都有n个数,让你找出一个序列,这个序列包括1~n所有的数,且和序列a,序列b相应位置都只有一个位置数字不同
解题思路:暴力枚举哪个位置不同,然后验证一下是否满足
#include <iostream> #include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <queue> #include <stack> #include <cmath> #include <map> #include <bitset> #include <set> #include <vector> #include <functional> using namespace std; #define LL long long const int INF = 0x3f3f3f3f; int n; int a[1005], ans[1005], b[1005], visit[1005]; int main() { while (~scanf("%d", &n)) { for (int i = 1; i <= n; i++) scanf("%d", &a[i]); for (int i = 1; i <= n; i++) scanf("%d", &b[i]); for (int i = 1; i <= n; i++) { memset(visit, 0, sizeof visit); int flag = 1; for (int j = 1; j <= n; j++) { if (i == j) continue; visit[a[j]]++; ans[j] = a[j]; if(visit[a[j]]>1) flag=0; } if (!flag) continue; for (int j = 1; j <= n; j++) if (!visit[j]) {ans[i] = j;break;} int cnt = 0; for (int j = 1; j <= n; j++) if (b[j] != ans[j]) cnt++; if (cnt == 1) break; } printf("%d", ans[1]); for (int i = 2; i <= n; i++) printf(" %d", ans[i]); printf("\n"); } return 0; }
