求大佬指点一下,运行不了
#include <iostream>#include <functional>
#include <algorithm>
using namespace std;
int main(void)
{
char buf[] = { 'A','A','4','4','3','3','2','2' };
for (; std::next_permutation(begin(buf), end(buf), std::greater<char>()); )
{
auto a1 = std::find(begin(buf), end(buf), 'A');
auto a2 = std::find(a1 + 1, end(buf), 'A');
if (a1 + 2 != a2) continue;
auto b1 = std::find(begin(buf), end(buf), '2');
auto b2 = std::find(b1 + 1, end(buf), '2');
if (b1 + 3 != b2) continue;
auto c1 = std::find(begin(buf), end(buf), '3');
auto c2 = std::find(c1 + 1, end(buf), '3');
if (c1 + 4 != c2) continue;
auto d1 = std::find(begin(buf), end(buf), '4');
auto d2 = std::find(d1 + 1, end(buf), '4');
if (d1 + 5 != d2) continue;
break;
}
cout.write(buf, size(buf));
}