迅雷笔试之-纸牌游戏有牛无牛
来源:互联网 发布:gzip linux 编辑:程序博客网 时间:2024/06/05 02:09
今日迅雷笔试题一:给定5张牌(除大小王),J/Q/K代表10,A代表1,其他数字还是对应数字。5张牌中有三张加起来是10的倍数就叫有牛,任意三张加起来都不等于10就叫无牛。有牛的情况下,剩余两张加起来的和的个位数为牛数,比如4+7则牛数为1。输入要求:五张牌以逗号分隔输入;输出要求:无牛和输入错误的情况输出“none”,有牛的情况下输出牛数。
#include<iostream>#include<map>using namespace std;int main(){ char a,b,c,d,e,aa,bb,cc,dd; map<char,int> m; m['2'] = 2, m['3'] = 3, m['4'] = 4, m['5'] = 5, m['6'] = 6, m['7'] = 7, m['8'] = 8; m['9'] = 9, m['10'] = 10, m['A'] = 1, m['J'] = 10, m['Q'] = 10, m['K'] = 10; while (cin>>a>>aa>>b>>bb>>c>>cc>>d>>dd>>e){ int errornum; char sz[5] = {a,b,c,d,e}; map<char, int>::iterator ite = m.begin(); for (int q = 0; q < 5; ++q){ ite = m.find(sz[q]); if (ite == m.end()){ cout << "none"; errornum = 0; break; } } if (errornum == 0) continue; int niunum=0; int i = 0; int j = i + 1; int k = j + 1; bool found = 0; for (; i < 3; ++i){ for (j = i + 1; j < 4; ++j){ for (k = j + 1; k < 5; ++k){ if ((m[sz[i]] + m[sz[j]] + m[sz[k]]) % 10 == 0){ for (int p = 0; p < 5; ++p){ if (p == i || p == j || p == k) continue; else niunum += m[sz[p]]; } found = 1; cout << niunum % 10 << endl; break; } } if (found) break; } if (found) break; } if (i = 3 && j == 4 && k == 5) cout << "none"; } cin.get(); return 0;}
0 0
- 迅雷笔试之-纸牌游戏有牛无牛
- 纸牌游戏之三
- 纸牌游戏之六 游戏概述
- 纸牌游戏
- 纸牌游戏
- 纸牌游戏
- 纸牌游戏
- 纸牌游戏
- 纸牌游戏
- 纸牌游戏
- 纸牌游戏
- 纸牌游戏
- 猜纸牌游戏之二 实体类
- 纸牌游戏之四 游戏规则类
- 纸牌游戏之五 主界面类
- 迅雷笔试
- 迅雷笔试
- 浅析:纸牌游戏 Java算法——之重复发牌
- Java编程中在子类重载方法中调用父类中该方法时,该方法包含递归时出现的调用错误
- Linux系统tput命令用法实例详解
- Codeforces-507B-Amr and Pins
- 深入理解Java的接口和抽象类
- 147. Insertion Sort List (python)
- 迅雷笔试之-纸牌游戏有牛无牛
- 基础总结篇之九:Intent应用详解
- 第一篇博客
- 从一个文件中读取到的内容写到另一个文件中(read,write,open)
- CUDA入门(七)流
- angularjs的过滤器实现搜索与排序
- 设计模式——代理模式(C++)
- 148. Sort List (python)
- java例题学习:猜数字游戏