zoukankan      html  css  js  c++  java
  • Codeforces1478F-Nezzar and Nice Beatmap

    题目大意:n个点连起来(首尾不相连),每三个点之间的夹角不超过90度

     题目链接

    解题思路:考虑每次连线和距离当前点最远的点连线,保证了有解。

    三个点连成三角形,当这个三角形是钝角三角形时才可能出现无解,但每次选择最远的点连线,保证了不可能选择到钝角。

     1 #include<stdio.h>
     2 #include<algorithm>
     3 #include<string.h>
     4 using namespace std;
     5 typedef long long ll;
     6 const int maxn=5e3+5;
     7 struct node{
     8     int x,y;
     9 }a[maxn];
    10 int vis[maxn];
    11 int main()
    12 {
    13     int n;
    14     scanf("%d",&n);
    15     memset(vis,0,sizeof(vis));
    16     for(int i=1;i<=n;i++){
    17         scanf("%d%d",&a[i].x,&a[i].y);
    18     }
    19     int ans=1;
    20     ll tmp;
    21     for(int i=1;i<=n;i++){
    22         tmp=0;
    23         int k=-1;
    24         for(int j=1;j<=n;j++){
    25             if(vis[j]) continue;
    26             if(1LL*abs(a[ans].x-a[j].x)*abs(a[ans].x-a[j].x)+1LL*abs(a[ans].y-a[j].y)*abs(a[ans].y-a[j].y)>tmp){
    27                 k=j;
    28                 tmp=1LL*abs(a[ans].x-a[j].x)*abs(a[ans].x-a[j].x)+1LL*abs(a[ans].y-a[j].y)*abs(a[ans].y-a[j].y);
    29             }
    30         }
    31         ans=k;
    32         printf("%d ",ans);
    33         vis[ans]=1;
    34     }
    35     return 0;
    36 }
    View Code
  • 相关阅读:
    js字符串函数
    js流程语句
    js数组
    js变量
    js运算符
    Time.deltaTime和Time.realtimeSinceStartup
    Prefabs实例化 ResourceMgr
    SLua
    判断物体是否在摄像机内
    [Unity3D]引擎崩溃、异常、警告、BUG与提示总结及解决方法
  • 原文地址:https://www.cnblogs.com/noback-go/p/14358505.html
Copyright © 2011-2022 走看看