Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
52825 | AK2022071316 | 敏捷排列 | C++ | 解答错误 | 0 | 76 MS | 131308 KB | 557 | 2022-07-20 12:02:00 |
#include<bits/stdc++.h> #define fst(a,b,c) for(int a=(b);a<=(c);a++) using namespace std; const int N=20; int n,a,b; namespace BL{ int ans,fa[N]; int find(int x){return (fa[x]==x)?x:fa[x]=find(fa[x]);} void Main(){ int x; ans=n; fst(i,1,n) fa[i]=i; fst(i,1,n) scanf("%d",&x),fa[find(i)]=find(x); fst(i,1,n) if(find(i)==i) ans--; printf("%.10lf\n",1.0*ans*a); return; } } int main(){ // freopen("permutation.in","r",stdin); // freopen("permutation.out","w",stdout); scanf("%d%d%d",&n,&a,&b); BL::Main(); return 0; }