Note
- 贪心
- 重在思路
Code:
#include<bits/stdc++.h>
using namespace std;
int main(){
#ifndef ONLINE_JUDGE
freopen("data.txt","r",stdin);
#endif
int n,num,cnt=0;
scanf("%d",&n);
int index[n];
for(int i=0;i<n;i++){
scanf("%d",&num);
index[num]=i;
}
int i=1;
while(1){
while(index[0]!=0){
swap(index[0],index[index[0]]);
cnt++;
}
while(index[i]==i) i++;
if(i<n){
swap(index[0],index[i]);
cnt++;
}
else break;
}
cout<<cnt;
return 0;
}
本文探讨了一种常见的算法思想——贪心算法,并通过C++代码详细解释了如何运用贪心策略解决特定问题。主要涉及数组操作和交换元素以达到目标状态的过程,适合对算法感兴趣的读者深入理解贪心算法的运用。

145

被折叠的 条评论
为什么被折叠?



