题目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;//输出不同数坐标
else
cout << 1 <<endl;//输出不同数坐标
}
}
return 0;
}