答案是最少需要n-m次交换,因为每次交换最多让排列的环数增加1,要从m个环变成n个自环,至 少需要n-m次操作。
#include <iostream>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
cout << n - m;
}

答案是最少需要n-m次交换,因为每次交换最多让排列的环数增加1,要从m个环变成n个自环,至 少需要n-m次操作。
#include <iostream>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
cout << n - m;
}