亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 1002.cpp

?? HDOJ 5月2日 “老菜鳥杯”程序大賽標準程序+解題報告
?? CPP
字號:
#include <iostream>
#include <vector>
#include <cmath>
#include <time.h>
using namespace std;

const int POINT_MAX=10005;
const int SIZE=17389;
const int BUFFER=10000;

struct D_Point
{
    double x,y,z;
};

struct Point
{
    int x,y,z;
    bool operator==(const Point&p)
    {
        return (x==p.x && y==p.y && z==p.z);
    }
};

//============Hash===================

struct HashNode
{
    Point cur;
    int next;
};

HashNode Hash_Table[SIZE+BUFFER];
bool flag[SIZE];
int top;

void Hash_Init()
{
    memset(flag,0,sizeof(flag));
    top=SIZE;
}

int hash(const Point&p)
{
    int ans=(p.x+p.y+p.z+p.x*p.y*p.z)%SIZE;
    if (ans<0) ans+=SIZE;
    return ans;
}

void insert(const Point&p)
{
    int key=hash(p);
    if (!flag[key])
    {
        flag[key]=true;
        Hash_Table[key].cur=p;
        Hash_Table[key].next=-1;
        return ;
    }
    else
    {
        while (true)
        {
            if (Hash_Table[key].cur==p)
                return;
            if (Hash_Table[key].next==-1) break;
            key=Hash_Table[key].next;
        }

        Hash_Table[key].next=top;
        Hash_Table[top].cur=p;
        Hash_Table[top].next=-1;
        top++;
    }
}

bool query(const Point&p)
{
    int key=hash(p);

    if (!flag[key])
        return false;
    else
    {
        while (true)
        {
            if (Hash_Table[key].cur==p)
                return true;
            if (Hash_Table[key].next==-1) return false;
            key=Hash_Table[key].next;
        }
    }
}


//============Hash===================


double Distance(D_Point a,D_Point b)
{
    return sqrt( (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)+(a.z-b.z)*(a.z-b.z));
}


int n,m;
vector<D_Point> hyper[105];
double g[105][105];
int id[105];
double d[105];
bool has[105];
vector<int>number;


//Prim
double Prim(int N,double g[105][105])
{
    int top=N-1;
    int i,j;
    double ans=0.0;

    for (i=1;i<N;i++)
    {
        d[i]=g[0][i];
        id[i-1]=i;
    }

    for (i=0;i<N-1;i++)
    {
        int cur,pos=0;
        for (j=1;j<top;j++)
        {
            if (d[id[j]]<d[id[pos]])
                pos=j;
        }

        cur=id[pos];
        ans+=d[cur];

        id[pos]=id[--top];

        for (j=0;j<top;j++)
            if (d[id[j]]>g[id[j]][cur])
            {
                d[id[j]]=g[id[j]][cur];
            }
    }

    return ans;
}


double Calc(const vector<D_Point>&hyperspace)
{
    int n=hyperspace.size();
    int i,j;
    double res=0.0;

    if (n)
    {
        for (i=0;i<n;i++)
            for (j=0;j<n;j++)
                g[i][j]=Distance(hyperspace[i],hyperspace[j]);

        res=Prim(n,g);
    }

    return res;
}

int main()
{
    int i,j;
    Point cur;
    D_Point p;
    int id;
    double ans;
	int cnt;

    OPEN
    clock_t A=clock();
    while (scanf("%d%d",&n,&m)!=EOF)
    {
        ans=0;
		 number.clear();
        for (i=0;i<n;i++)
        {
            hyper[i].clear();
            has[i]=false;
        }

        Hash_Init();

        for (i=0;i<m;i++)
        {
            scanf("%lf%lf%lf%d",&p.x,&p.y,&p.z,&id);
            id--;
            cur.x=(int)(p.x*10000+0.5);
            cur.y=(int)(p.y*10000+0.5);
            cur.z=(int)(p.z*10000+0.5);

            if (!query(cur))
            {
                insert(cur);
                hyper[id].push_back(p);
            }
        }

        for (i=0;i<n;i++)
        {
            if (hyper[i].size())
            {
                ans+=Calc(hyper[i]);
                has[i]=true;
            }
        }


        for (i=0;i<n;i++)
			if (has[i])
			{
				number.push_back(i);
			}

		cnt=number.size();

        for (i=0;i<cnt;i++)
            for (j=0;j<cnt;j++)
            {
                g[i][j]=fabs((double)hyper[number[i]].size()-hyper[number[j]].size())*fabs(1.0*number[i]-number[j]);
            }

        ans+=Prim(cnt,g);
        printf("%.4lf\n",ans);
    }
    printf("%dms\n",clock()-A);
    return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美嫩在线观看| 91福利视频在线| 一区二区国产盗摄色噜噜| 国产色产综合产在线视频| 精品播放一区二区| 欧美xxxxx牲另类人与| 欧美一区二区三区不卡| 欧美日韩国产bt| 欧美午夜电影网| 欧美精品在线一区二区| 欧美男人的天堂一二区| 6080yy午夜一二三区久久| 91精品久久久久久久91蜜桃 | 蜜桃视频在线观看一区二区| 夜夜亚洲天天久久| 国产精品乱码人人做人人爱 | 日韩欧美一卡二卡| 欧美系列亚洲系列| 一本色道久久综合亚洲aⅴ蜜桃| 国产成a人无v码亚洲福利| 成人黄色在线看| 国产精品精品国产色婷婷| 免费成人美女在线观看| 色哟哟日韩精品| 久久精品人人做人人爽97| 亚洲男帅同性gay1069| 国产精品高潮呻吟| 理论片日本一区| 国产激情91久久精品导航| 精品一区二区精品| 色拍拍在线精品视频8848| 日韩视频一区二区三区| 久久久亚洲欧洲日产国码αv| 国产日韩精品一区二区三区在线| 日韩一本二本av| 久久影音资源网| 亚洲素人一区二区| 日韩伦理av电影| 久久久久国产一区二区三区四区| 日韩精品一区二区三区三区免费 | 天堂一区二区在线| 国产福利一区二区三区在线视频| 日韩欧美国产精品一区| 国产欧美视频一区二区| 亚洲在线视频免费观看| 99综合电影在线视频| 欧美日韩五月天| 国产一区二区三区免费看| 国产电影一区在线| 亚洲专区一二三| 久久蜜桃香蕉精品一区二区三区| 美女脱光内衣内裤视频久久影院| 精品国产伦一区二区三区观看体验| 久久亚洲影视婷婷| 亚洲综合久久久久| 国产精品一区专区| 5858s免费视频成人| 亚洲人成网站影音先锋播放| 全国精品久久少妇| 色婷婷精品大在线视频| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲在线视频网站| 色哟哟在线观看一区二区三区| 久久综合色之久久综合| 日韩二区三区四区| 欧美色综合影院| 亚洲丝袜精品丝袜在线| 粉嫩嫩av羞羞动漫久久久| 日韩欧美一区二区视频| 亚洲sss视频在线视频| 色激情天天射综合网| 国产精品嫩草99a| 国产精品1024久久| 久久久久久久综合日本| 美女国产一区二区| 日韩一区二区三区在线观看 | 依依成人综合视频| 91蜜桃婷婷狠狠久久综合9色| 欧美激情综合五月色丁香 | 国产精品久久午夜| 国产激情偷乱视频一区二区三区| 精品久久国产97色综合| 极品销魂美女一区二区三区| 日韩精品一区二区在线观看| 狠狠色丁香婷综合久久| 2020国产精品久久精品美国| 精品一区二区在线免费观看| 精品久久久久av影院| 国产毛片精品一区| 自拍偷拍国产精品| 欧美三级韩国三级日本一级| 午夜精品成人在线视频| 欧美一级国产精品| 国产精品888| 亚洲天堂中文字幕| 欧美性色aⅴ视频一区日韩精品| 亚洲最大成人综合| 777午夜精品视频在线播放| 久久精品国产色蜜蜜麻豆| 亚洲精品在线一区二区| 成人黄色网址在线观看| 亚洲成av人片观看| 精品福利av导航| 99久久久久久99| 亚洲成人7777| 国产午夜精品福利| 欧美视频精品在线| 国产成人在线看| 亚洲欧洲制服丝袜| 精品日本一线二线三线不卡| 成人激情综合网站| 亚洲成a人v欧美综合天堂下载| 欧美电影免费观看完整版| 成人免费av在线| 亚洲777理论| 中文字幕不卡在线| 欧美精品在线一区二区| 成人精品视频一区二区三区| 亚洲成人免费在线| 国产精品久久久久久妇女6080| 666欧美在线视频| 99精品视频中文字幕| 免费成人你懂的| 一区二区三区成人| 欧美经典一区二区| 日韩一区二区三区免费看 | 欧美日韩日本视频| 成年人国产精品| 国产一区二区三区免费| 亚洲夂夂婷婷色拍ww47| 国产亚洲一区二区在线观看| 欧美精品一二三区| 色国产综合视频| 99国产欧美久久久精品| 韩日精品视频一区| 日韩电影在线一区| 午夜精品福利视频网站| 亚洲欧美视频在线观看视频| 精品国产乱子伦一区| 欧美肥妇毛茸茸| 欧美无人高清视频在线观看| 99热国产精品| 国产精品一二一区| 精品伊人久久久久7777人| 日一区二区三区| 亚洲电影激情视频网站| 亚洲午夜一区二区| 一区二区三区欧美日| 中文字幕色av一区二区三区| 国产午夜精品一区二区三区四区| 精品国产乱码久久久久久闺蜜| 51久久夜色精品国产麻豆| 欧美午夜在线一二页| 欧美日韩一级大片网址| 欧美性猛交xxxxxx富婆| 欧美群妇大交群的观看方式| 欧美日韩一区成人| 欧美另类高清zo欧美| 在线不卡免费av| 日韩一区二区三区av| 日韩欧美色综合| 久久久精品免费观看| 亚洲国产精品ⅴa在线观看| 国产精品久久久久久久久免费樱桃| 亚洲国产精品精华液2区45| 欧美国产在线观看| 亚洲乱码国产乱码精品精98午夜| 一区二区三区在线高清| 玉足女爽爽91| 午夜国产精品影院在线观看| 日本欧美肥老太交大片| 国模一区二区三区白浆| 国产一区二区三区四区五区美女| 国产电影一区在线| 色哟哟国产精品免费观看| 欧美日韩情趣电影| 久久久天堂av| 亚洲色图在线看| 日韩国产成人精品| 国产九色sp调教91| 色综合色综合色综合色综合色综合 | 欧美理论电影在线| 精品国产91久久久久久久妲己| 国产精品乱码久久久久久| 一区二区三区**美女毛片| 免费高清在线视频一区·| 国产成人精品免费一区二区| 91国产丝袜在线播放| 精品美女一区二区三区| 中文字幕亚洲视频| 另类综合日韩欧美亚洲| aaa欧美日韩| 欧美成人三级电影在线| 国产精品久久久久久久久久久免费看 | 亚洲欧美国产77777| 全国精品久久少妇| 一本色道久久综合精品竹菊| 日韩小视频在线观看专区| 亚洲区小说区图片区qvod| 九九久久精品视频|