Codeforces Problem-25A IQ Test

Codeforces Problem-25A IQ Test

  • 从今天开始的日常题目(实时比赛题目除外)CF分数都在1200以上,本人要尽快摆脱newbie的头衔,正式进入“小学生级别”中,如果这些题目有更好的解决方法或者算法,或是有哪些理解不对的地方,还请各路大神指出!

Codeforces Problem-25A IQ Test
基本思想:

  这可以算是1200+级别的水题了。其实只需要判断每个数的奇偶性,把不一样的那个数的下标输出就行。本人开始的时候想着用个map容器或者开个数组解决,但实际上不需要这么麻烦:找一个基准,比如说单独统计偶数的个数,如果偶数的个数等于1,那就把偶数的下标输出,反之则输出奇数的下标,这个时候只需要设定两个下标指针,每次更新下标的位置就能解决问题。

AC代码:

#include <bits/stdc++.h>
using namespace std;

int main()
{
	int n;
	cin>>n;
	int even=0,i1,i2;
	for (int i=1;i<=n;i++)
	{
		int z;
		cin>>z;
		if (z%2==0)
		{
			even++;
			i1=i;
		}
		else
			i2=i;
	}
	cout<<(even==1?i1:i2)<<endl;
	return 0;
}
上一篇:OJ Problem 1700:Swap the rank


下一篇:node-ts基本使用