Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
57497 xujindong S1 C++ 运行超时 0 1000 MS 8060 KB 778 2022-10-04 11:29:57

Tests(0/20):


#include<bits/stdc++.h> using namespace std; int n,a1[100005],a2[100005],s[100005],ans[100005]; bool vis[100005]; int cal(int p){ if(s[p]==0)return 0; else if(s[p]==1)return a2[p]; else if(s[p]==2)return a1[p]; else return a1[p]+a2[p]; } void dfs(int d){ if(d>n){ memset(vis,0,sizeof(vis)); for(int i=1;i<=n;){ int maxn=-0x3f3f3f3f; for(int j=1;j<=n;j++)if(!vis[j])maxn=max(maxn,cal(j)); int cnt=0; for(int j=1;j<=n;j++)if(cal(j)==maxn&&!vis[j])vis[j]=1,ans[j]+=i,cnt++; i+=cnt; } return; } for(int i=0;i<4;i++)s[i]=i,dfs(d+1),s[i]=0; } int main(){ cin>>n; for(int i=1;i<=n;i++)cin>>a1[i]>>a2[i]; dfs(1); for(int i=1;i<=n;i++)cout<<(double)ans[i]/(pow(4,n))<<'\n'; return 0; }


测评信息: