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 n inclusive, 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.
Output 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.
5 1 2 3 4 3 1 2 5 4 5
1 2 5 4 3
5 4 4 2 3 1 5 4 5 3 1
5 4 2 3 1
4 1 1 3 4 1 4 3 4
1 2 3 4
In 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.
题目大意:
想要找出三个数,使这三个数的乘积最小,问有几种组合方案
Hint
先sort一下,看第三个数和第一个数是否一样,如果一样的话,就直接看有多少个数与其相同的,从中取三个,排列组合一下
如果不一样,看第一个和第二个一不一样,在排列组合一下就好。
注意:在运算过程中会爆long long 用double过渡一下就好
AC代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
int a[1000500];
int32_t main(){
int n;
while(scanf("%I64d", &n) != EOF){
for(int i = 0; i < n; scanf("%I64d", &a[i]),i++);
sort(a, a + n);
int sum = 0;
for(int i = 0; i < n; i++){
if(a[i] == a[2])
sum++;
}
if(a[0] == a[2]){
int ans = 1;
for(int i = 1; i <= 3; i++){
ans *= sum;
ans /= i;
sum--;
}
printf("%I64d\n", ans);
}
else if(a[1] == a[2]){
int ans = 1;
printf("%I64d\n", (long long)(double(ans * sum * (sum - 1)) / 2));
}
else if(a[1] != a[2]){
printf("%I64d\n", sum);
}
}
}