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

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

?? pku 3348 凸包(化簡).txt

?? ACM資料大集合
?? TXT
字號:
#include <stdio.h>
#include <iostream>
#include <math.h>
#include <algorithm>
#include <stdio.h>
using namespace std;

#define NMAX 5555
#define MAX 99999999
#define PI 3.1415926

typedef struct point
{
 double x;
 double y;
}point;

point tubao[NMAX];
point shuru[NMAX];
point chuli[NMAX];
point temp[NMAX];
point zx;

double area(point a,point b)
{  return a.x*b.y-a.y*b.x;}

double areas(int tbnum)
{//求 n 個點 的面積   A中的點按逆時針方向存放 
  //多邊形是任意的凸或凹多邊形,
   double re=0;
   int i;
   if(tbnum<3)return 0;
   for(i=0;i<tbnum;i++)
      re+=area(tubao[i+1],tubao[(i+1)%tbnum+1]);
   re=fabs(re/2);
   return re;
}

double get_cj(point a,point b,point o)
{//結果大于0,b在o-〉a的逆時針方向
	return (a.x-o.x)*(b.y-o.y)-(a.y-o.y)*(b.x-o.x);
}

double get_dis(point a,point b)
{
	return sqrt(pow(a.x-b.x,2)+pow(a.y-b.y,2));
}
bool cmqj(point a,point b)
{
	double cj;
	cj=get_cj(a,b,zx);
	if(cj>0) return true;
	else if(cj==0&&get_dis(zx,a)<get_dis(zx,b)) return true;
	else return false;
}

int get_next(int now,int num)
{
	if(now==num) return 1;
	else return now+1;
}

void print_chuli(int num)
{
	  int i;
	  cout<<"this is chuli"<<endl;
     for(i=1;i<=num;i++)
      printf("%.2f  %.2f\n",chuli[i].x,chuli[i].y);
	 cout<<"end"<<endl;
}
int create_xulie(int num)
{
	int i,j;
	point temp[NMAX];
	for(i=1;i<=num;i++) temp[i]=shuru[i];
	sort(temp+1,temp+1+num,cmqj);
	chuli[1]=temp[1];
	j=1;
	for(i=2;i<=num;i++)
	{
		if(!(temp[i].x==temp[i-1].x &&temp[i].y==temp[i-1].y)) chuli[++j]=temp[i];
	}
//	print_chuli(j);
	return j;
}

int create_tubao(int num)
{
	//scan算法求凸包,O(nlogn)
	int minnum,rnum;
	int i,s;
	double minx,miny;
	minx=MAX;
	miny=MAX;
	for(i=1;i<=num;i++)
	{	
		if(shuru[i].x<minx) {minx=shuru[i].x;miny=shuru[i].y;minnum=i;}
		else if(shuru[i].x==minx&&shuru[i].y<miny) {miny=shuru[i].y;minnum=i;}
	}
	zx=shuru[minnum];//zx是最左邊的點(如有很多個,則是最下角的那個)
	rnum=create_xulie(num);//構造逆時針序列
	tubao[1]=chuli[1];
	tubao[2]=chuli[2];
	s=2;//棧頂位置
	i=get_next(2,rnum);
	do
	{
		//注意s>=2,這樣棧最多退到只剩一個點 
		while(s>=2&&get_cj(tubao[s],chuli[i],tubao[s-1])<=0)
			s--;
		tubao[++s]=chuli[i];//滿足凸包條件,或棧只剩一個點時
		i=get_next(i,rnum);
	}
	while(!((chuli[i].x==tubao[1].x)&&(chuli[i].y==tubao[1].y)));//循環一圈
	//最后一個點是否在凸包上,還要再判斷(這個不確定)	
	while(s>=3&&get_cj(tubao[s],chuli[i],tubao[s-1])<=0) s--;
	return s;
}

void print(int tbnum)
{
     int i;
     for(i=1;i<=tbnum;i++)
      printf("%.2f  %.2f\n",tubao[i].x,tubao[i].y);
}

int main()
{
    int i,num,tbnum,fa,fb;
    while(scanf("%d",&num)!=EOF)
    {
    for(i=1;i<=num;i++)
       {
         cin>>shuru[i].x>>shuru[i].y;
       }
    tbnum=create_tubao(num);
//   print(tbnum);
    cout<<(int)((areas(tbnum))/50)<<endl;
    }
	return 0;
}


===================================================================================
#include <stdio.h>
#include <iostream>
#include <math.h>
#include <algorithm>
#include <stdio.h>
using namespace std;

#define NMAX 5555
#define MAX 99999999
#define PI 3.1415926

typedef struct point
{
 double x;
 double y;
}point;

point tubao[NMAX];
point shuru[NMAX];
point chuli[NMAX];
point temp[NMAX];
point zx;


void print(int tbnum)
{
     int i;
     for(i=1;i<=tbnum;i++)
      printf("%.2f  %.2f\n",tubao[i].x,tubao[i].y);
}


double area(point a,point b)
{
	return a.x*b.y-b.x*a.y; 
}

int next(int i,int tbnum)
{
	if(i==tbnum) return 1;
	else return i+1;
}
double areas(int tbnum)
{
	int i;
	double s=0;
	for(i=1;i<=tbnum;i++) s+=area(tubao[i],tubao[next(i,tbnum)]);
	return s/2;
}

double get_cj(point a,point b,point o)
{
	return (a.x-o.x) * (b.y-o.y) - (a.y-o.y) *(b.x-o.x);
}

double get_dis(point a,point b)
{
	return sqrt((a.x-b.x) * (a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}

int cmpcj(const void *a,const void *b)
{
	double xx=get_cj((*(point *)b), (*(point *)a), zx), yy;
	if(xx==0) 
	{
		yy=get_dis((*(point *)a),zx)-get_dis((*(point *)b),zx);
		return (int)yy;
	}
	return (int)xx;
}

int get_xulie(int num)
{
	int i,j;
	for(i=1;i<=num;i++)	temp[i]=shuru[i];
//	printf("%.2f %.2f\n",zx.x,zx.y);
	qsort(temp+1,num,sizeof(temp[1]),cmpcj);
//	printf("qsort\n");
//	system("pause");
	chuli[1]=temp[1];
	for(i=2,j=1;i<=num;i++)
	{
		if(!(temp[i].x==temp[i-1].x && temp[i-1].y == temp[i].y)) chuli[++j]=temp[i];
	}
	return j;	
}

void print_xl(int ttnum)
{
	 int i;
     for(i=1;i<=ttnum;i++)
      printf("%.2f  %.2f\n",chuli[i].x,chuli[i].y);
}
int create_tubao(int num)
{
	int tbnum,ttnum,s,i;
	double minx,miny;
	minx=shuru[1].x;miny=shuru[1].y;
	for(i=2;i<=num;i++)
	{
		if(minx>shuru[i].x)
		{
			minx=shuru[i].x;miny=shuru[i].y;
			zx=shuru[i];
		}
		else if(minx==shuru[i].x && miny>shuru[i].y)
		{
			miny=shuru[i].y;
			zx=shuru[i];
		}
	}
	ttnum=get_xulie(num);
//  print_xl(ttnum);
//	system("pause");
	tubao[1]=chuli[1];
	tubao[2]=chuli[2];
	s=2;
	for(i=3;i<=ttnum;i++)
	{
//		printf("tbs=%.2f %.2f tbs-1=%.2f %.2f cj=%.2f\n",tubao[s].x,tubao[s].y,tubao[s-1].x,tubao[s-1].y,get_cj(tubao[s],chuli[i],tubao[s-1]));
		while(s>=2 && get_cj(tubao[s],chuli[i],tubao[s-1])<=0) s--;
		tubao[++s]=chuli[i];
//		printf("s=%d chuli[i]=%.2f %.2f\n",s,chuli[i].x,chuli[i].y);
//		print(s);
	}
	while(s>=3 && get_cj(tubao[s],chuli[1],tubao[s-1])<=0) s--;
	return s;
}

int main()
{
    int i,num,tbnum,fa,fb;
    while(scanf("%d",&num)!=EOF)
    {
    for(i=1;i<=num;i++)
       {
         cin>>shuru[i].x>>shuru[i].y;
       }
 	   tbnum=create_tubao(num);
// 	  print(tbnum);
    cout<<(int)((areas(tbnum))/50)<<endl;
    }
	return 0;
}







?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
秋霞国产午夜精品免费视频| 精品欧美久久久| 国产精品嫩草99a| 色天使色偷偷av一区二区| 亚洲妇熟xx妇色黄| 久久综合狠狠综合| 91福利国产成人精品照片| 精品一区二区三区日韩| 亚洲黄色尤物视频| 久久久久久久久久美女| 欧洲av一区二区嗯嗯嗯啊| 国内精品免费**视频| 亚洲一区在线观看免费观看电影高清| 欧美一级一区二区| 色哟哟精品一区| 欧美在线免费视屏| 欧美一区日本一区韩国一区| 欧美一级黄色录像| 在线视频国内自拍亚洲视频| 欧美日韩在线不卡| 91丨国产丨九色丨pron| 国内成人免费视频| 成人免费黄色在线| 国产综合色产在线精品| 成人黄色网址在线观看| 国产美女一区二区三区| 天天影视色香欲综合网老头| 成人免费在线观看入口| 国产欧美精品在线观看| 精品国产乱码久久久久久久 | 日韩亚洲欧美综合| 久久网站热最新地址| 亚洲欧美日韩久久| 亚洲欧洲性图库| 亚洲大片免费看| 亚洲香肠在线观看| 久久99精品久久久久婷婷| av在线不卡观看免费观看| 丁香五精品蜜臀久久久久99网站| 国产一区二区伦理片| 色婷婷国产精品综合在线观看| 欧美一二三区精品| 一区二区三区在线观看欧美| 国产精品久久久久国产精品日日| 91精品国产高清一区二区三区蜜臀| 欧美成人a∨高清免费观看| 亚洲天天做日日做天天谢日日欢| 亚洲欧洲日产国码二区| 蜜桃视频在线观看一区| 国产乱理伦片在线观看夜一区| 国产在线精品视频| 欧美色倩网站大全免费| 国产人伦精品一区二区| 久色婷婷小香蕉久久| 久国产精品韩国三级视频| 一本久久a久久免费精品不卡| 精品国产乱码久久| 日韩极品在线观看| 激情久久久久久久久久久久久久久久| 91国产精品成人| 国产精品美女久久久久高潮| 国产伦精品一区二区三区在线观看| 欧美亚洲综合久久| 精品国精品自拍自在线| 日本在线观看不卡视频| 国产suv精品一区二区6| 精品国产一区二区三区四区四 | 日韩女优av电影在线观看| 精品乱人伦一区二区三区| 亚洲一区二区精品视频| www.亚洲激情.com| 国产精品私房写真福利视频| 国产一区二区三区视频在线播放| 日韩欧美另类在线| 日本va欧美va欧美va精品| 欧美日韩激情一区二区| 精品国免费一区二区三区| 蜜桃免费网站一区二区三区| 日韩欧美精品在线| 美国十次综合导航| 日韩一区二区在线观看| 日本成人中文字幕在线视频 | 国产清纯白嫩初高生在线观看91| 裸体歌舞表演一区二区| 精品剧情v国产在线观看在线| 日本强好片久久久久久aaa| 欧美一级专区免费大片| 老司机精品视频线观看86| 26uuu另类欧美亚洲曰本| 日韩不卡手机在线v区| 日韩欧美一级精品久久| 国产在线日韩欧美| 国产欧美日韩在线| 91亚洲资源网| 午夜精品久久久久久久久| 欧美一区二区三区在线| 国产一区二区三区美女| 日韩理论片在线| 欧美美女一区二区三区| 国产精品你懂的在线| 91麻豆精品视频| 午夜久久久久久久久久一区二区| 日韩一区二区免费在线观看| 国产精一品亚洲二区在线视频| 国产欧美一区二区三区在线看蜜臀| av一区二区三区黑人| 亚洲福利视频三区| 久久九九国产精品| 美女在线视频一区| 国产精品全国免费观看高清 | 国产91对白在线观看九色| 自拍偷拍亚洲欧美日韩| 欧美一区二区在线播放| 成人在线综合网| 日韩专区在线视频| 欧美国产综合色视频| 国产老肥熟一区二区三区| 亚洲男人天堂av| 久久久三级国产网站| 欧美综合一区二区| 国产精品中文有码| 午夜伊人狠狠久久| 国产精品电影一区二区| 91精品国产综合久久久久| 天堂久久久久va久久久久| 久久色在线观看| 欧美高清视频不卡网| a美女胸又www黄视频久久| 九色porny丨国产精品| 亚洲午夜在线观看视频在线| 国产嫩草影院久久久久| 日韩欧美在线一区二区三区| 欧美色区777第一页| 91视频免费播放| 国产精品主播直播| 久久99精品国产麻豆不卡| 亚洲成人精品在线观看| 亚洲色图欧美在线| 欧美国产1区2区| 久久日一线二线三线suv| 精品欧美久久久| 日韩精品自拍偷拍| 日韩一区二区精品葵司在线| 欧美日韩午夜在线| 色天使色偷偷av一区二区| 不卡的电影网站| 成人免费观看视频| 国产成人欧美日韩在线电影| 亚洲素人一区二区| 国产精品乱码一区二区三区软件| 久久久精品黄色| 久久久99精品免费观看不卡| 久久影院午夜论| 久久精品亚洲一区二区三区浴池 | 一区二区三区在线观看视频| 亚洲啪啪综合av一区二区三区| 国产精品初高中害羞小美女文| 久久久一区二区三区| 久久综合资源网| 国产欧美日韩不卡| 国产精品久久一级| 亚洲免费毛片网站| 亚洲一二三四久久| 丝袜亚洲另类欧美综合| 免费在线观看一区二区三区| 麻豆精品在线看| 国产成人在线免费观看| 丁香激情综合五月| 色综合久久久久网| 欧美日韩一区二区三区免费看| 欧美日韩国产一二三| 日韩欧美国产麻豆| 久久久亚洲午夜电影| 中文字幕亚洲不卡| 亚洲一卡二卡三卡四卡| 另类专区欧美蜜桃臀第一页| 国产高清不卡二三区| 色哟哟国产精品| 91精品一区二区三区在线观看| 精品久久国产老人久久综合| 中文字幕高清不卡| 亚洲成a人片在线不卡一二三区| 日本午夜一区二区| 北条麻妃一区二区三区| 欧美性生活久久| 国产亚洲精品中文字幕| 国产精品久久精品日日| 日韩—二三区免费观看av| 国产高清精品在线| 欧美日韩中文精品| 久久精品亚洲一区二区三区浴池| 亚洲综合免费观看高清完整版在线 | 日韩国产欧美视频| 国产91精品欧美| 666欧美在线视频| 综合亚洲深深色噜噜狠狠网站| 日韩av电影天堂| 色婷婷国产精品久久包臀| 精品久久久久香蕉网| 亚洲制服丝袜av|