题意:
给t个测试样例,每个测试样例第一行n和x,第二行n个数字,你可以交换i位置和j位置的数字,但是|i-j|>=x,问能不能排成升序数组。
分析:
当x很大时,数组中的一些数字将不能移动,所以,如果其中的排列不正确,那么永远不可能有序,所以你需要判断n-x到x之间的数是否有序,有序则可以,无序则不可以。
如果n>=2*x的话,那么所以数字都可以移动, 那么一定可以变成有序。
代码:
题意:
给t个测试样例,每个测试样例第一行n和x,第二行n个数字,你可以交换i位置和j位置的数字,但是|i-j|>=x,问能不能排成升序数组。
分析:
当x很大时,数组中的一些数字将不能移动,所以,如果其中的排列不正确,那么永远不可能有序,所以你需要判断n-x到x之间的数是否有序,有序则可以,无序则不可以。
如果n>=2*x的话,那么所以数字都可以移动, 那么一定可以变成有序。
代码: