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;
}

posted @ 2021-11-13 16:30  yhang323  阅读(93)  评论(0)    收藏  举报