枚举算法 C语言 试题,求代码:如图大体思路是,用枚举法,一个个的试,碰到非的情况从...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//修正了一下
#include
#include
#include
#include
#include
#include
using namespace std;unordered_map&, char) >>
is_right = {
{ 1,[](vector& vec,char c)->bool {return true;} },
{ 2,[](vector& vec,char c)->bool {
char answers[5] = "CDAB";
return vec[5]== answers[c - 'A'];
} },
{ 3,[](vector& vec,char c)->bool{
char answers[5] = "3624";
int count = 0;
for (int i = 0;i != 4;i++)
{
if (vec[answers[c - 'A']-'0'] == vec[answers[i]-'0'] )
count++;
}
return count==1?true:false;
} },
{ 4,[](vector& vec,char c)->bool {
char answers[9] = "1527196:";//此处冒号指10
return vec[answers[(c - 'A') * 2] - '0'] == vec[answers[(c - 'A') * 2 + 1] - '0'];
} },
{ 5,[](vector& vec,char c) ->bool{
char answers[5] = "8497";
return c == vec[answers[c-'A'] - '0'];
} },
{ 6,[](vector& vec,char c)->bool {
char answers[9] = "24163:59";
return vec[8] == vec[answers[(c - 'A') * 2] - '0'] && vec[8] == vec[answers[(c - 'A') * 2 + 1] - '0'];
} },
{ 7,[](vector& vec,char c)->bool {
char answers[5] = "CBAD";
int count[4] = { 0 };
for (int i = 1;i != 11;i++) {
count[vec[i] - 'A']++;
}
int minnum = 10;
for (auto an : count) {
if(an < minnum)
minnum = an;
}
return minnum == count[answers[c - 'A'] - 'A'];
} },
{ 8,[](vector& vec,char c) ->bool{
char answers[5] = "752:";
return abs(vec[answers[c - 'A'] - '0'] - vec[1]) > 1 ? true : false;
} },
{ 9,[](vector& vec,char c)->bool {
char answers[5] = "6:29";
if (vec[1] == vec[6]) {
return vec[answers[c - 'A'] - '0'] != vec[5];
}
else {
return vec[answers[c - 'A'] - '0'] == vec[5];
}
} },
{ 10,[](vector& vec,char c)->bool {
char answers[5] = "3241";
int count[4] = { 0 };
for (int i = 1;i != 11;i++) {
count[vec[i] - 'A']++;
}
std::sort(begin(count), end(count));
return count[3] - count[0] == (int)(answers[c - 'A'] - '0');
} },
};
bool next(vector &vec) {
int i = 1;
++vec[i];
while ( vec[i] > 'D') {
vec[i] = 'A';
++i;
if (i > 10) return false;
++vec[i];
}
return true;
}int main() {
//0号空着
vector vec(11, 'A'); do{
bool flag = true;
for (int i = 1;i != 11;i++)
if (!is_right[i](vec, vec[i])) {
flag = false;
break;
}
if (flag) {
for (int i = 1;i != 11;i++)
cout << vec[i] << ' ';
cout << endl;
}
} while (next(vec)); getchar();
return 0;}
枚举算法 C语言 试题,求代码:如图大体思路是,用枚举法,一个个的试,碰到非的情况从...相关推荐
- 华为电脑c语言总是错误,关于华为机试题求代码!解决方法
关于华为机试题求代码!!! n个字符串,1 如n=3 1.what is local bus? 2.this is local bus. 3.local bus is name sdhfj. 那么最长 ...
- 逆序对算法c语言,归并排序求逆序对的代码(C语言)
#include #include #define MAX 32767 int merge(int *array, int p,int q,int r) { //归并array[p...q] 与 ar ...
- 蛮力枚举算法C语言,算法01-蛮力法
算法01-蛮力法 一.蛮力法介绍 蛮力法(brute force method,也称为穷举法或枚举法)是一种简单直接地解决问题的方法,常常直接基于问题的描述,所以,蛮力法也是最容易应用的方法.但是,用 ...
- 冒泡算法c语言伪代码,求冒泡排序的全中文的伪代码 ?
满意答案 haoy4020 推荐于 2017.11.25 采纳率:53% 等级:9 已帮助:913人 伪代码啊,还真不好描述: 假设有N个数,可以想象成所有的数分成两部分:上部和下部,上部的是排 ...
- 1000以内所有同构数java算法_C语言编程求出1~1000的同构数
2015-10-06 C语言问题.要求编程求出总成绩并按总成绩排? #include int main() { int i,j,k; int tempX,tempY; int res[6][2]={0 ...
- 求素数的三大算法 —— C 语言 篇
求素数的三大算法 -- C 语言 篇 文章目录 求素数的三大算法 -- C 语言 篇 算法一 :暴力遍历 思路: 代码: 算法二:折半范围遍历 思路: 代码: 算法三:根号范围遍历 思路: 代码: 总 ...
- C语言Prims求最小生成树MST的算法(附完整源码)
C语言Prims求最小生成树MST的算法 C语言Prims求最小生成树MST的算法完整源码(定义,实现,main函数测试) C语言Prims求最小生成树MST的算法完整源码(定义,实现,main函数测 ...
- C语言试题汇总200例目录
1.温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试中C程序设计科目.帮助C语言学者打好程序基础.C语言基础,锻炼您的逻辑思维和解决问题的能力,帮助你成为C语言笔试.机试解题高手 ...
- 基础算法(一):枚举算法
前言 从这篇文章开始,小荔枝就开始学习算法和数据结构啦!!!我们先来看看入门的一些基础算法,在这篇文章中,主要介绍的是枚举算法.我们重点需要了解枚举算法使用时需要确定的条件,荔枝会用一道题目来凸显这些 ...
最新文章
- 链接产业 聚变未来 | 移动云区块链开发者论坛来了
- PHP语法(3.)环境变量
- 类linux系统/proc/sysrq-trigger文件功能作用
- Android类参考---Fragment(一)
- tf.logging.set_verbosity (tf.logging.INFO)
- Java Web学习总结(34)——拦截器和过滤器的差异总结
- C#利用Web Service实现短信发送(转)
- java简历项目经验大全,不吃透都对不起自己
- 树莓派摄像头模块(Pi Cam)的安装使用
- unrecognized selector sent to instance XXXXX
- AndroidStudio对apk应用进行重新签名
- 物联网推进水产养殖业标准化规模化进程
- iOS开发——cache自动清理方案探索
- Matlab画线性规划可行域
- 高中学历学Java能找到工作吗?
- 【Python】对Excel数据进行批量操作
- 【解压zip.00**压缩包】
- TIMO 后台管理系统 v2.0.1 发布,加入 jwt 身份验证组件,基于 Spring Boot
- 上帝为什么不奖赏好人
- 威海微联计算机软件,兰州网站快速排名-微联关键词快速排名优化
热门文章
- ACMNO.41C语言-数字调序 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数
- dev编译器:c++如何让其输出小数16.84,浮点数类型数据!
- 数学推导+纯Python实现机器学习算法12:贝叶斯网络
- 如何具体学习计算机视觉
- 手把手用YOLO做目标检测
- 【从零学习OpenCV】4Ubuntu系统中安装OpenCV 4
- 第三篇:时间和全局状态(三)
- SPI flash配置
- 揭秘:深度网络背后的数学奥秘
- 【Git 第2课】 GitHub是什么?