当前位置: 代码迷 >> 综合 >> 寒假训练周赛2--Spy Detected
  详细解决方案

寒假训练周赛2--Spy Detected

热度:43   发布时间:2023-12-06 06:06:35.0

题目Spy Detected!

给你一个长度为 nn (n \ge 3n≥3) 的正整数数组 aa,该数组内除了一个数之外的所有数都相同 (例如数组 [4, 11, 4, 4][4,11,4,4] 除了 1111 之外的所有数都等于 44).

输出不等于别的数的下标. 下标均从 11 开始编号.

Input

第一行一个整数 tt (1 \le t \le 1001≤t≤100). 接下来有 tt 个测试样例.

每一个测试样例第一行是一个整数 nn (3 \le n \le 1003≤n≤100) — 数组 aa 的长度.

每个测试样例第二行有 nn 个整数 a_1, a_2, \ldots, a_na1?,a2?,…,an? (1 \le a_i \le 1001≤ai?≤100).

保证 aa 中除了一个数外的所有数都相同.

Output

对于每个测试样例输出一个整数 — 不等于别的数的下标

Example

Input

4
8
5 4 5 5 5 5 5 5
3
6 2 2
11
6 6 6 6 10 6 6 6 6 6 6
3
300 300 100

Output

2
1
5
3

代码

#include<bits/stdc++.h>
#include <iostream>
#include <cstdio>
#include <math.h>
using namespace std;int main()
{int t,n;cin >>t;while(t--){long long a[110]={0};cin >>n;int i;int k=0;for(i=1;i<=n;i++){cin >>a[i];}for(i=2;i<=n-1;i++)//从第二个到倒数第二if(a[i-1]!=a[i]&&a[i]!=a[i+1])//判断这中间是否有不同数{cout << i <<endl;//输出不同数坐标k++;//有不同数做标记}if(k==0)//上面没找到,在开头结尾找{if(a[1]==a[2])cout <<n <<endl;//输出不同数坐标elsecout << 1 <<endl;//输出不同数坐标}}return 0;
}

  相关解决方案