本文主要是介绍2015-华为招聘公开测试题目2-麻将番数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
思路:使用C++函数将字符串进行分段,并对每段进行判定。
#include<iostream>
#include<string>
using namespace std;int IsStr4(string& str){//确定是抓到“杠”了if(str[0]==str[2] && str[0]==str[4] && str[0]==str[6]&&str[1]==str[3] && str[1]==str[5] && str[1]==str[7]){return 1;}return 0;
}int main(){string str2("1T2T3T");string separators(",.");string str;cin>>str;string::size_type startPos=0;string::size_type endPos=0;string subStr;//子串int len;//子串多长int countDouble=0;//多少对int res=0;//多少番?while( (startPos=str.find_first_not_of(separators,endPos) ) !=string::npos ) { endPos=str.find_first_of(separators,startPos); len=endPos-startPos;subStr=str.substr(startPos,len);//substr是不是卡二条if(len==6){if(subStr==str2)res+=1;}else if(len==8){if(IsStr4(subStr))res+=2;}else if(len==4){++countDouble;}} if(countDouble==7)res+=2;printf("%d\n",res);return 0;
}/*
1T2T3T,1D2D3D,5T5T5T5T,6D6D.
*/
这篇关于2015-华为招聘公开测试题目2-麻将番数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!