zoukankan      html  css  js  c++  java
  • Codeforces Beta Round #25 (Div. 2)--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.

    Sample test(s)
    input
    5
    2 4 7 8 10
    
    output
    3
    
    input
    4
    1 2 1 1
    
    output
    2




    解题报告:水题。。

    。给你一列数,当中仅仅有一个数的奇偶性和其它数不同,输出它所在的位置。直接暴力扫一遍,记录最后一个奇数和偶数的位置,并记录奇数和偶数的个数。就可以。







    AC代码:

    #include <stdio.h>
    #include <string.h>
    #include <iostream>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #include <set>
    #include <map>
    #include <string>
    #include <math.h>
    #include <stdlib.h>
    #include <time.h>
    using namespace std;
    #define INF 0x7fffffff
    
    int a[105];
    
    int main()
    {
        #ifdef sxk
            freopen("in.txt","r",stdin);
        #endif
        int n;
        while(scanf("%d",&n)!=EOF)
        {
            int ans1 = 0, ans2 = 0, x, y;
            for(int i=0; i<n; i++){
                cin>>a[i];
                if(a[i]&1) {
                    ans1 ++;
                    x = i+1;
                }
                else{
                    ans2 ++;
                    y = i+1;
                }
            }
            if(ans1>ans2) cout<<y<<endl;         //推断条件也可换成ans1 == 1
            else cout<<x<<endl;
        }
        return 0;
    }






  • 相关阅读:
    BNUOJ 34978 汉诺塔 (概率dp)
    hdu1427 速算24点
    vim学习之以退为进——可反复移动和可反复改动的美妙结合
    C++设计模式实现--策略(Strategy)模式
    ios怎样在一个UIImageButton的里面加一些自己定义的箭头
    HTML5 Canvas 画图入门
    AT3728 Squirrel Migration
    HTTP请求的GET与POST方式的区别
    HTTP 的请求过程?
    servlet的生命周期
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6751466.html
Copyright © 2011-2022 走看看