#include\x20 #include\x20 #include\x20

using\x20namespace\x20std;

void\x20printInterestingPermutation(int\x20n)\x20{ \x20\x20if\x20(n\x20<=\x202)\x20{ \x20\x20\x20\x20cout\x20<<\x20-1\x20<<\x20endl; \x20\x20\x20\x20return; \x20\x20} \x20\x20 \x20\x20vector\x20permutation; \x20\x20for\x20(int\x20i\x20=\x201;\x20i\x20<=\x20n;\x20i++)\x20{ \x20\x20\x20\x20permutation.push_back(i); \x20\x20} \x20\x20 \x20\x20for\x20(int\x20i\x20=\x200;\x20i\x20<\x20n\x20-\x201;\x20i++)\x20{ \x20\x20\x20\x20if\x20(permutation[i]\x20==\x20i\x20+\x201)\x20{ \x20\x20\x20\x20\x20\x20swap(permutation[i],\x20permutation[i\x20+\x201]); \x20\x20\x20\x20} \x20\x20} \x20\x20 \x20\x20if\x20(permutation[n\x20-\x201]\x20==\x20n)\x20{ \x20\x20\x20\x20swap(permutation[n\x20-\x201],\x20permutation[n\x20-\x202]); \x20\x20} \x20\x20 \x20\x20for\x20(int\x20i\x20=\x200;\x20i\x20<\x20n;\x20i++)\x20{ \x20\x20\x20\x20cout\x20<<\x20permutation[i]\x20<<\x20"\x20"; \x20\x20} \x20\x20cout\x20<<\x20endl; }

int\x20main()\x20{ \x20\x20int\x20t; \x20\x20cin\x20>>\x20t; \x20\x20 \x20\x20while\x20(t--)\x20{ \x20\x20\x20\x20int\x20n; \x20\x20\x20\x20cin\x20>>\x20n; \x20\x20\x20\x20 \x20\x20\x20\x20printInterestingPermutation(n); \x20\x20} \x20\x20 \x20\x20return\x200;

C++ 代码实现有趣排列:满足相邻元素差值和无固定点的排列

原文地址: https://www.cveoy.top/t/topic/pE4A 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录