Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
57459 | luogu775213 | S1 | C++ | 运行超时 | 30 | 73 MS | 192 KB | 648 | 2022-10-04 11:25:53 |
#include<cstdio> #include<cstring> #define MAXN 11 int n,a[MAXN][2],p[MAXN],cnt[MAXN][MAXN]; void dfs(int k) { if(k==n+1) { for(int i=1;i<=n;i++) { int ct=1; for(int j=1;j<=n;j++) if(p[j]>p[i]) ++ct; ++cnt[i][ct]; } return; } for(int i=0;i<=1;i++) for(int j=0;j<=1;j++) { p[k]=i*a[k][0]+j*a[k][1]; dfs(k+1); } } int main() { memset(cnt,0,sizeof(cnt)); scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d%d",&a[i][0],&a[i][1]); dfs(1); for(int i=1;i<=n;i++) { int ans=0; for(int j=1;j<=n;j++) ans+=cnt[i][j]*j; printf("%lf\n",ans*1.0/(1<<(n<<1))); } return 0; }