CodeForces 25A 题解
题解笔记
CF25A IQ test(test.cpp)
时间限制 \(2s\) | 内存限制 \(256M\)
题目描述:
有 n 个数 \(a_1,a_2,...,a_n\) ,请你从中找出一个奇偶性与众不同的数。
输入格式:
第一行仅有一个正整数 \(n\) (\(3≤n≤100\));第二行包含 \(n\) 个数 \(a_1 , a_2 ,\dots, a_n\) (保证有唯一解)。
输出格式:
仅有一个整数 \(c\) ,表示最小的边权和,若无解则输出 −1 。
输入输出样例:
| 样例1输入 | 样例1输 | 样例2输入 | 样例2输出 |
|---|---|---|---|
| 5 2 4 7 8 10 |
3 | 4 1 2 1 1 |
2 |
解题思路:
直接暴力枚举,先判断前三个数的奇偶,如果就全部相同,那么就从 \(a_3\) 开始扫数组,与 \(a_1\) 的奇偶比较,再输出就好了。
参考代码:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
bool a[105];
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
int x;
scanf("%d",&x);
a[i]=x&1;
}
if(a[3]!=a[1]&&a[3]==a[2])
{
printf("1");
return 0;
}
else if(a[3]==a[1]&&a[3]!=a[2])
{
printf("2");
return 0;
}
else if(a[1]==a[2]&&a[3]!=a[1])
{
printf("3");
return 0;
}
else
{
for(int i=4;i<=n;i++)
{
if(a[i]!=a[1])
{
printf("%d",i);
return 0;
}
}
}
return 0;
}

浙公网安备 33010602011771号