求解,为何开O2全RE
查看原帖
求解,为何开O2全RE
180406
FormulaOne楼主2021/8/13 15:20
#include <stdio.h>
#include <iostream>
using namespace std;
int ans = 1e9,a[200005],f[200005],n;
int dfs(int k,int i,int l){
    if(l == n + 1)return 1e9;
    if(f[i] > 0)return l + f[i];
    if(k == i)return l;
    dfs(k,a[i],l + 1);
}
int main(){
//     freopen("info.in","r",stdin);
//     freopen("info.out","w",stdout);
    cin >> n;
    for(int i = 1;i <= n;i++)cin >> a[i];
    for(int i = 1;i <= n;i++){
         f[i] = dfs(i,a[i],1);
         ans = min(ans,f[i]);
    }
     cout << ans;
    // fclose(stdin);
    // fclose(stdout);
     return 0;
}
2021/8/13 15:20
加载中...