扑克片的顺子

来源:互联网 发布:环球雅思网络课程 编辑:程序博客网 时间:2024/04/28 02:42
#include<iostream>#include<vector>#include<string>#include<algorithm>using namespace std;void transform(string str, vector<int>&num){if (str == "A"){str = "1";}else if (str == "J"){str= "11";}else if (str == "Q"){str = "12";}else if (str == "K"){str = "13";}if (atoi(str.c_str()) >= 0 && atoi(str.c_str())<=13){num.push_back(atoi(str.c_str()));} }bool IsArrange(vector<int> &temp,int n){int zero = 0, gap = 0, small, big;sort(temp.begin(), temp.begin() + n);for (vector<int>::iterator it = temp.begin(); it != temp.end(); it++){cout << *it << " ";}cout << endl;for (vector<int>::iterator it = temp.begin(); it != temp.end(); it++){if (*it == 0)zero++;}small = zero;big = small + 1;while (big < temp.size()){if (temp[small] == temp[big])return false;gap += temp[big] - temp[small] - 1;small = big;big++;}return gap > zero ? false : true;}int main(){ int n;vector<int> temp;cin >> n;for (int i = 0; i < n; i++){string str;cin >> str;transform(str, temp);}if (IsArrange(temp,n))cout << "Yes" << endl;elsecout << "No" << endl; system("pause");return 0;}

0 0