您的位置:首页 > 其它

10491: 来几只咸鱼 —— 郑州大学第十届ACM大学生程序设计竞赛正式赛

2016-12-09 17:34 323 查看
题目链接:http://acm.zzu.edu.cn:8000/problem.php?id=10491

10491: 来几只咸鱼

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 577  Solved: 42

[Submit][Status][Web
Board]

Description

 从前有座山,山上有座庙,庙里有个老和尚和一个小和尚,有一天,老和尚对小和尚说: 西墙有咸鱼,头齐尾不齐。追星十二载,粉圈未有名。大炮扛不住,写文常死机,闲来买买买,奈何工资低。花痴有微博,追剧aqy,早晚练酷跑,弹幕刷bili。又到黄金周,未有出游意,埋头苦搬砖,摸鱼看手机。刷新复刷新,饱总杳无音,专注打广告,半月已有余。满屏挖坟匠,喟然长叹息。忽闻饱更博,平地惊雷起。垂目轻咬唇,素颜半解衣,皓腕佩名表,耳中明月玑。转评忙飙车,污言寄美意,复看众咸鱼,皆成老司机。

现在小和尚想知道,在所有的咸鱼中,挑选出一定数量的咸鱼,有奇数种情况还是有偶数种情况?


Input

 第一行代表数据的组数t,接下来输入t(0 < t <= 20)组数据

每一组输入都只有一行,包含两个数n(0 < n < 1e9)和m(0 <= m <= n),其中n表示咸鱼的总数,m表示挑选的数量

Output

 对于每一组输入,它的输出包含一行,若是奇数,则输出输出”ODD”;否则,输出”EVEN”

Sample Input

23 14 2

Sample Output

ODDEVEN

HINT

Source



[Submit][Status][Web
Board]
한국어  中文  فارسی  English  ไทย

Anything about the Problems, Please Contact Admin:admin 

题目解析:   这个就是组合数的奇偶性,比赛时一直用Lucas WA 数次,没想到其他队友用Lucas 把 mod p, p改为 2 过了,说多了都是泪,,,,(还是自己太弱) 其实就是看分子分母看谁含2的个数多,n! 含2 个数为 n - 它二进制中含1 的个数(自己百度证明), 如果 (n&m) == m说明分子分母含2个数相等,为奇数;否则m与n-m二进制1有重复,意味着多减了,故分母含2个数多,为偶数

借鉴大牛博客:http://blog.csdn.net/millky/article/details/3206730

#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<map>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cctype>
#include<cmath>
#define N 110
const int mod = 1e9 + 7;
const int inf = 0x3f3f3f3f;
typedef long long LL;
using namespace std;

int main()
{
int t;
LL m, n;
scanf("%d", &t);
while(t--)
{
scanf("%lld%lld", &n, &m);
if((n & m) == m) printf("ODD\n");
else printf("EVEN\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: