zcmu-1929

来源:互联网 发布:什么叫软件饱和 编辑:程序博客网 时间:2024/06/05 13:31

1929: Learning’s Power

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 83  Solved: 23
[Submit][Status][Web Board]

Description

爱学习的小学生小萌有一天在打拳皇的时候看见了‘Pow’单词,但它不知道它是什么意思,就去百度了一下。原来Pow是能量槽的意思呀!!这时他突然看见Pow还是C/C++里的数学函数!interesting!他突发奇想:如果有一个大小为N的数组Arry,和整数Q,你知道Q次查询的答案是什么吗?每次查询包含两个整数x和y,你要告诉小萌find(x,y)是奇数还是偶数。(虽然小萌很爱学习 可是毕竟他还是小学生=w=)

find(int x,int y)
{
    if(x>y) return 1;
    ans = pow(A[x],find(x+1,y))
    return ans
}

Input

第一行包含一个整数N( 2 ≤ N ≤ 10^5 )。 接下来的一行包含N个非负整数(小于10)。 再接下来的一行包含一个正整数Q( 2 ≤ Q ≤ 10^5 ),表示处理查询的个数。 后跟Q行,每行包含两个空格分隔的整数x和y。( 1 ≤x ≤ y ≤ N )
(数组中没有两个相邻的元素全为0)

Output

对每个查询,如果结果是偶数,输出'Even’, 否则输出’Odd’。
数组中没有两个相邻的元素全为0

Sample Input

33 2 721 22 3

Sample Output

OddEven

HINT

find(1,2) = 9, 是奇数 

find(2,3) = 128, 是偶数


pow(a,b) = ab




Source

思路:题目就是求奇偶数,但是做的时候不用题目那个的find函数,直接进行判断就可以。这里有个坑就是2的0次是奇数。
代码:
#include<cstdio>using namespace std;int main(){    int a[100005],n,q,x,y;    while(~scanf("%d",&n))    {        for(int i=1;i<=n;i++)scanf("%d",&a[i]);        scanf("%d",&q);        for(int i=0;i<q; i++)        {            scanf("%d%d",&x,&y);            if(a[x]%2==0)            {if(x+1<=y&&a[x+1]==0)printf("Odd\n");                else printf("Even\n");            }            else printf("Odd\n");        }    }    return 0;}


原创粉丝点击