acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 题解

    userId_undefined

    法兰西玫瑰

    倔强青铜
    5阅读
    0回复
    0点赞
  • 题解

    #include <cstdio> #include <algorithm> using namespace std; const int N=302; pair <double,double > dx[N]; int n,ans[N],cnt[N][N],f[N]; bool check(int i,int j,int id) { if((dx[id].second-dx[i].second)(dx[j].first-dx[id].first)<(dx[j].second-dx[id].second)(dx[id].first-dx[i].first)) return true; return false; } int main() { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%lf%lf",&dx[i].first,&dx[i].second); sort(dx+1,dx+1+n); for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) { for(int l=i+1;l<=n;l++) if(dx[l].first>dx[i].first&&dx[l].first<dx[j].first&&check(i,j,l)) cnt[i][j]; } for(int i=1;i<=n;i) if(dx[i].firstdx[i-1].first) f[i]=f[i-1]+(dx[i].seconddx[i-1].second?0:1); for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) for(int l=j+1;l<=n;l++) { if(check(i,l,j))//在下面 { if(dx[i].firstdx[j].first||dx[l].firstdx[j].first) ans[cnt[i][l]-cnt[i][j]-cnt[j][l]]; else ans[cnt[i][l]-cnt[i][j]-cnt[j][l]-1-f[j]]; } else { if(dx[i].firstdx[j].first||dx[l].firstdx[j].first) ans[cnt[i][j]+cnt[j][l]-cnt[i][l]]; else ans[cnt[i][j]+f[j]+cnt[j][l]-cnt[i][l]]; } } for(int i=0;i<=n-3;i++) printf("%d\n",ans[i]); return 0; }

    userId_undefined

    

    倔强青铜
    1阅读
    0回复
    0点赞
首页