0.0寒假搞笑作->最强逻辑题的最直观代码实现
来源:互联网 发布:微盘今日数据 编辑:程序博客网 时间:2024/06/07 12:24
前几天在人人上看到了一个名为最强逻辑题的东西,听说是微软的面试题目。然后看到我交一学长的代码,感觉好~漂亮= =于是就写了一份,好久没写过这么爽的代码了- -逻辑清楚的不行- -233333
题目是这个样子的:
题目不是很难,可以第一想法差不多应该是深搜~?No,显然应该10重循环嘛0.0效率是什么,能吃嘛~?
代码就是这样滴~
#include <iostream>#include <cmath>using namespace std;int numberOfAnswer(int* ans, int testNumber){int count = 0;for (int i = 1; i < 11; i++){if (ans[i] == testNumber)count++;}return count;}int sameNumberAsAnswerA(int* ans){int number[6] = { 0, 0, 0, 0, 0, 0 };int test = numberOfAnswer(ans, 1);for (int answer = 2; answer <= 5; answer++){for (int i = 1; i < 11; i++){if (ans[i] == answer)number[answer]++;}}for (int i = 2; i < 6; i++){if (test == number[i])return i;}return 6;}bool SameAnswerAsNo3(int *ans){if (ans[3] == ans[1] && ans[3] == 1)return true;else if (ans[3] == ans[2] && ans[3] == 2)return true;else if (ans[3] == ans[4] && ans[3] == 3)return true;else if (ans[3] == ans[7] && ans[3] == 4)return true;else if (ans[3] == ans[6] && ans[3] == 5)return true;else return false;}int fxxkTheNinth(int number){if (number == 3 || number == 7)return 1;else if (number == 10)return 5;else if (number == 4 || number == 9)return 3;else if (number == 6)return 2;else if (number == 8)return 4;else return 6;}bool overlap(int *ans){int count = 0;for (int i = 2; i < 11; i++)if (ans[i - 1] == ans[i])count++;if (count == 1)return true;else return false;}void printArray(int *ans){for (int i = 1; i < 11; i++){if (ans[i] == 1)cout << "A ";else if (ans[i] == 2)cout << "B ";else if (ans[i] == 3)cout << "C ";else if (ans[i] == 4)cout << "D ";else if (ans[i] == 5)cout << "E ";elsecout << "GG";}cout << "\nend\n";}int main(){int ans[11];for (ans[1] = 1; ans[1] <= 5; ans[1]++)for (ans[2] = 1; ans[2] <= 5; ans[2]++)for (ans[3] = 1; ans[3] <= 5; ans[3]++)for (ans[4] = 1; ans[4] <= 5; ans[4]++)for (ans[5] = 1; ans[5] <= 5; ans[5]++)for (ans[6] = 1; ans[6] <= 5; ans[6]++)for (ans[7] = 1; ans[7] <= 5; ans[7]++)for (ans[8] = 1; ans[8] <= 5; ans[8]++)for (ans[9] = 1; ans[9] <= 5; ans[9]++)for (ans[10] = 1; ans[10] <= 5; ans[10]++){if (ans[ans[1] + 1] == 2)//Q1if ((ans[ans[2] + 1] == ans[ans[2] + 2]) && overlap(ans))//Q2if (SameAnswerAsNo3(ans))//Q3if (ans[4] - 1 == numberOfAnswer(ans, 1))//Q4if (ans[5] == ans[11 - ans[5]])//Q5if (sameNumberAsAnswerA(ans) == ans[6] + 1)//Q6if (abs(ans[7] - ans[8]) == 5 - ans[7])//Q7if (ans[8] + 1 == numberOfAnswer(ans, 1) + numberOfAnswer(ans, 5))//Q8if (ans[9] == fxxkTheNinth(numberOfAnswer(ans, 2) + numberOfAnswer(ans, 3) + numberOfAnswer(ans, 4)))if (ans[10] == ans[10])printArray(ans);}system("pause");}
0.0第一次写这么深的循环,这么漂亮的if嵌套,写完还真有点小激动那o(^▽^)o
= =这排版毁了原本的美感- -就截个图吧
不能更美丽!233333333
0 0
- 0.0寒假搞笑作->最强逻辑题的最直观代码实现
- JAVA最直观的死锁代码
- 二分法最简单最直观的核心代码
- 搞笑:史上最强的黑客任务
- 寒假之作—HDU—最受欢迎的颜色问题
- 最搞笑的浪漫
- 搞笑的代码错误
- 【JZOJ3885】搞笑的代码
- #191. 搞笑的代码
- 【搞笑】世上最强的中国式英语,看完晕死~~
- 寒假刷题-最短路
- pitch yaw roll 最直观的解释
- pitch yaw roll 最直观的解释
- 最直观的方式学习flexbox属性
- 归并排序最直观的示意图
- For else语法最直观的理解
- 寒假小作
- 逻辑回归、决策树和支持向量机的直观理解
- "蓝桥杯“基础练习: 十六进制转十进制
- UIImageView
- URAL 1998 The old Padawan
- 英雄会(csdn pongo)题解之朋友的礼物
- unity项目异步加载来避免加载一个项目所消耗时间过长
- 0.0寒假搞笑作->最强逻辑题的最直观代码实现
- 如何提高服务器缓存命中率
- 一步一步学epoll同时处理海量连接的代码
- debug报错
- Cocos2d-x学习之windows 7 android环境搭建
- Java语言学习要求
- ACM POJ 2001 (Shortest Prefixes)
- 网址优化技巧要注意什么
- PHP实现队列(Queue)数据结构