A. IQ test
time limit per test:
2 seconds
memory limit per test:
256 megabytes
input:
standard input
output:
standard output
Bob is preparing to pass IQ test. The most frequent task in this test is to find out which one of the given n numbers differs from the others. Bob observed that one number usually differs from the others in evenness. Help Bob — to check his answers, he needs a program that among the given n numbers finds one that is different in evenness.
Input
The first line contains integer n (3 ≤ n ≤ 100) — amount of numbers in the task. The second line contains n space-separated natural numbers, not exceeding 100. It is guaranteed, that exactly one of these numbers differs from the others in evenness.
Output
Output index of number that differs from the others in evenness. Numbers are numbered from 1 in the input order.
Examples
Input
5 2 4 7 8 10Output
3Input
4 1 2 1 1Output
2
最开始没读懂题意的我,在这题上卡了好久,后来才知道,其实就是找出奇偶性不同的那个数字。。。
(我一直以为要找规律什么的。。。)
然后,这题就很简单了。
思路:
把几个数中的奇数和偶数个数算出来,(同时,找一个变量记录下标)看哪个个数是1,然后输出这个变量+1即可.
AC代码:
#include <iostream>
using namespace std;
int a[1001];
int main()
{
int n,i,num1=0,num2=0,cnt2=0,cnt1=0;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i];
if(a[i]%2==0)
{
cnt1++;
num1=i;
}
else
{
cnt2++;
num2=i;
}
}
if(cnt1==1)
cout<<num1+1<<endl;
if(cnt2==1)
cout<<num2+1<<endl;
}