题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) 复杂度不详
不知道是数据水还是怎么,怎么就能过呢? 本来是试一下无脑暴力+贪心可以过多少数据,但是奇迹般的过了?贪心真的是题过了我还不明白怎么过的~
蹲个大佬解释一下代码为什么不会T~
时间复杂度
参考文献
C++ 代码
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+7;
int s[N];
int main(){
int n;
cin>>n;
int cnt=0;
for(int i=1;i<=n;i++) cin>>s[i];
while(true){
for(int i=1;i<=n;i++){
if(s[i]!=i){
swap(s[i],s[s[i]]);
cnt++;
}
}
int f=0;
for(int i=1;i<=n;i++) {
if(s[i]!=i) f=1;
}
if(f==0) break;
}
cout<<cnt<<endl;
return 0;
}