题目描述:

请回答下面的 10 个问题,你的回答应保证每题惟有你的选择是正确的。

⑴ 第一个答案是b 的问题是哪一个?
(a )2 ( b ) 3 ( c ) 4 ( d ) 5 ( e ) 6
⑵ 恰好有两个连续问题的答案是一样的,它们是:
( a ) 2 , 3 ( b ) 3, 4 ( c ) 4 ,5 ( d ) 5 ,6 ( e ) 6 ,7 
⑶ 本问题答案和哪一个问题的答案相同?
( a ) 1 ( b ) 2 ( c ) 4 ( d ) 7 ( e ) 6
⑷ 答案是a 的问题的个数是:
( a ) 0 ( b ) 1 ( c ) 2 ( d ) 3 ( e ) 4
⑸ 本问题答案和哪一个问题的答案相同?
( a ) 10 ( b ) 9 ( c ) 8 ( d ) 7 ( e ) 6
⑹ 答案是a 的问题的个数和答案是什么的问题的个数相同?
( a ) b ( b ) c ( c ) d ( d ) e ( e ) 以上都不是
⑺ 按照字母顺序,本问题的答案和下一个问题的答案相差几个字母?
( a ) 4 ( b ) 3 ( c ) 2 ( d ) 1 ( e ) 0(注: a和b相差一个字母)
⑻ 答案是元音字母的问题的个数是:
( a ) 2 ( b ) 3 ( c ) 4 ( d ) 5 ( e )6(注:A和E 是元音字母)
⑼ 答案是辅音字母的问题的个数是:
( a )一个质数 ( b )一个阶乘数 ( c )一个平方数 ( d )一个立方数 ( e )5的倍数
⑽ 本问题的答案是:
( a ) a ( b ) b ( c ) c ( d ) d ( e ) e

实际答案:C D E B E E D C B A

求解代码:

#include <bits/stdc++.h>

#define REP(i,n) for(int i=0;i<n;i++)
#define REPAB(i,a,b) for(int i=a;i<=b;i++)
#define REPN(i,a,n) for(int i=a;i<a+n;i++)

#define MAXN 15

int ans[MAXN];
//problem.no from 1 to 10
//ans.no from 1 to 5
int a3[]={0,1,2,4,7,6};
int a5[]={0,10,9,8,7,6};
int a91[]={0,3,6,4,8,0};
int a92[]={0,7,0,9,0,0};
bool okay(){
int k=0;
//p1
if(ans[ans[1]+1]!=2)return 0;
REPN(i,1,6){
if(ans[i]==2){
if(i!=ans[1]+1)return 0;
break;
}
if(i==6&&ans[i]!=2)return 0;
}
//p2
if(ans[ans[2]+1]!=ans[ans[2]+2])return 0;
REPN(i,1,5){
if(i!=ans[2]){
if(ans[i+1]==ans[i+2])return 0;
}
}
//p3
if(ans[a3[ans[3]]]!=ans[3])return 0;
REPN(i,1,5){
if(i!=ans[3])
if(ans[3]==ans[a3[ans[3]]]);//return 0;
}
//p4
REPAB(i,1,10){
if(ans[i]==1)k++;
}
if(ans[4]-1!=k)return 0;
k=0;
//p5
if(ans[a5[ans[5]]]!=ans[5])return 0;
REPN(i,1,5){
if(i!=ans[5])
if(ans[5]==ans[a5[ans[5]]]);//return 0;
}
//p6
k=0;
REPN(i,1,10)if(ans[i]==1)k++;
int kk=0;
REPN(i,1,10){
if(ans[i]==ans[6]+1)kk++;
}
if(ans[6]==5||kk==k);
else return 0;
REPN(i,1,5){
kk=0;
if(i==ans[6]||i==5)continue;
REPN(j,1,10){
if(ans[j]==i+1)kk++;
}
if(kk==k)return 0;
}
//p7
if(5-ans[7]==ans[8]-ans[7]||5-ans[7]==ans[7]-ans[8]);
else return 0;
//p8
k=0;
REPN(i,1,10){
if(ans[i]==1||ans[i]==5)k++;
}
if(ans[8]+1!=k)return 0;
k=10-k;
//p9
if(k==a91[ans[9]]||k==a92[ans[9]]);
else return 0;
return 1;
}
void dfs(int n){
if(n==11){
if(okay()){
REPN(i,1,10){
printf("%d ",ans[i]);
}
printf("\n");
}
return;
}
REPN(i,1,5){
ans[n]=i;
dfs(n+1);
}
return;
}
#define LOCAL
int main(){
#ifdef LOCAL
freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
#endif // LOCAL
dfs(1);
return 0;
}

【枚举】【lrj黑书】奇怪的问题(古老的智力题)的更多相关文章

  1. POI2001 Gold mine(二叉排序树 黑书经典)

    采矿(KOP) 金矿的老师傅年底要退休了.经理为了奖赏他的尽职尽责的工作,决定送他一块长方形地.长度为S,宽度为W.老师傅可以自己选择这块地.显然其中包含的采金点越多越好.你的任务就是计算最多能得到多 ...

  2. 刘汝佳黑书 pku等oj题目

    原文地址:刘汝佳黑书 pku等oj题目[转]作者:小博博Mr 一.动态规划参考资料:刘汝佳<算法艺术与信息学竞赛><算法导论> 推荐题目:http://acm.pku.edu. ...

  3. POJ 1042 Gone Fishing (贪心)(刘汝佳黑书)

    Gone Fishing Time Limit: 2000MS   Memory Limit: 32768K Total Submissions: 30281   Accepted: 9124 Des ...

  4. 倒水问题(Fill,UVA 10603) lrj白书 p202

    看着lrj的代码自己敲了一遍,还没调试成功.... 有时间再进行完善 /* 状态start到各个状态u1,u2,u3..... 的倒水量分别为u1.dist,u2.dist,u3.dist.... * ...

  5. Uva 548 二叉树的递归遍历lrj 白书p155

    直接上代码... (另外也可以在递归的时候统计最优解,不过程序稍微复杂一点) #include <iostream> #include <string> #include &l ...

  6. Uva 122 树的层次遍历 Trees on the level lrj白书 p149

    是否可以把树上结点的编号,然后把二叉树存储在数组中呢?很遗憾如果结点在一条链上,那将是2^256个结点 所以需要采用动态结构 首先要读取结点,建立二叉树addnode()+read_input()承担 ...

  7. PAT1135(红黑书的判定)

    There is a kind of balanced binary search tree named red-black tree in the data structure. It has th ...

  8. 矩阵连乘 LRJ白书 p141 栈 解析表达式

    #include<iostream> #include<cstdio> #include<cstring> #include<sstream> #inc ...

  9. bzoj2539 丘比特的烦恼、黑书P333 (最优二分图匹配)

      丘比特的烦恼 题目描述 Description 随着社会的不断发展,人与人之间的感情越来越功利化.最近,爱神丘比特发现,爱情也已不再是完全纯洁的了.这使得丘比特很是苦恼,他越来越难找到合适的男女, ...

随机推荐

  1. web-自动化测试流程

    1. 自动化测试流程 (1) 需求分析 (2) 挑选适合做自动化测试的功能 (3) 设计测试用例 (4) 搭建自动化测试环境 [可选] (5) 设计自动化测试项目的架构 [可选] (6) 编写代码 ( ...

  2. 【计算机视觉】Object Proposal之BING理解

    发现: 本论文主要有两大亮点.第一个亮点是发现了在固定窗口的大小下,物体与背景的梯度模式有所不同.如图1所示.图1(a)中绿框代表背景,红框代表物体.如果把这些框都resize成固定大小,比如8X8, ...

  3. 最新 创蓝253java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.创蓝253等10家互联网公司的校招Offer,因为某些自身原因最终选择了创蓝253.6.7月主要是做系统复习.项目复盘.Le ...

  4. CenOS 7 安装Tomcat

    1.首先需要安装jdk yum install java-1.8.0-openjdk-devel.x86_64 2.下载 http://mirrors.tuna.tsinghua.edu.cn/apa ...

  5. Python数据分析练手:分析知乎大V

    原文链接:https://zhuanlan.zhihu.com/p/92768131?utm_source=tuicool&utm_medium=referral 知乎,可以说是国内目前最大的 ...

  6. Jmeter逻辑控制器: If控制器的解读

    Jmeter官网其实有很详细的文档,点此跳转到官网,下面我来解读一下官网的文档,如有错误,欢迎指出. 一.官网解读 Name 在结果树中显示的名字. Comments 备注.相当于代码中的注释. Ex ...

  7. [转帖]Nginx服务器的六种负载均衡策略详解

    Nginx服务器的六种负载均衡策略详解 咔咔侃技术 2019-09-11 17:40:12 一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独 ...

  8. Erlang:[笔记一,构建工具rebar之编译]

    Rebar概述 Rebar是一款Erlang构建工具,使用它可以方便的编译,测试erlang程序和打包erlang发行版本.Rebar其实是一个独立的erlang脚本,默认情况下,Rebar会按照Er ...

  9. c++语法笔记(中)

    继承与派生 继承面向对象程序设计4个主要特征:抽象,封装,继承,多态性c++通过继承实现可重用性.有时两个类的内容基本相同或有一部分相同,这时可以利用原来声明的类作为基础,再加上新的内容即可,减少了工 ...

  10. WUSTOJ 1274: 喂,这里是帅帅的LCM(Java)

    1274: 喂,这里是帅帅的LCM 题目   在一组数中,找出个数为奇数的数.更多内容点击标题. 分析   其实这种题并不难,做过一次之后,绝对不会错第二次.通过读题可以发现,我们要找的那个数在这一堆 ...