Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <cstdlib>#include <vector>#include <stack>#include <string>#include <map>#include <unordered_map>#include <algorithm>#include <unordered_set>#include <climits>using namespace std;unsigned long long cnt = 0;const unsigned long long longmax = 0xffffffffffffffff;bool isvalid(vector<string> &ans){int len = ans.size();for(int i = 1; i < len; i++){if(ans[i][0] == ans[i - 1][0])return false;}return true;}void permutation(vector<string> &poker, int from, int to){if(from == to){if(isvalid(poker))++cnt;cnt %= longmax;return;