题目将n个数的某一种排列,经过若干次操作,变成同一个数。想要使操作数最少,那么第一次操作k个数,然后从第二次起操作额外的(k-1)个数和一个已经被操作过的数就可以了。实际操作次数跟数组里面的排列是怎么样的并没有关系,所以只是输入就好了。详细看代码。 #include <bits/stdc++.h> using namespace std; int a[100100]; int main() { int n,k; scanf("%d%d",&n,&k); for(int i=1;i<=n;i++) scanf("%d",&a[i]); if(n==k)/...