KC看星

2024-01-29 19:38
文章标签 看星 kc

本文主要是介绍KC看星,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述
“一闪一闪亮晶晶,满天都是小星星”

Kc吟唱着歌谣,躺在草坪上边想着她边看起了星星。Kc刚刚结识了笛卡尔这位好基友,认为他的坐标系非常神奇。于是他随机地选出了8颗星星,并且给它们标上了坐标。Kc又不甘寂寞,于是思考起一个问题:这八个点能否恰好构成一个正方形和一个矩形呢?

输入
输入文件包括1行16个数,表示8个星星的坐标,坐标绝对值不超过10000。
输出
输出文件第一行是"YES"或者"NO"。表示是否有解。

若有解则第二行依次输出正方形每个顶点的序号。第三行依次输出矩形每个顶点的序号。序号即为输入的顺序。

另外注意:因为kc是一个刁端的人,所以他要求第二行和第三行这八个数要字典序最小。

四点共线不能认为是正方形或矩形
输入样例
0 0 10 11 10 0 0 11 1 1 2 2 2 1 1 2

输出样例
YES
5 6 7 8
1 2 3 4

.
.
.
.
.
.
分析
先全排列出序列,再用图形定理判断即可

.
.
.
.
.
程序:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;int b[10];
bool v[10];
double d[10][10];struct ajsdofno
{int x,y;
}a[10];void check()
{bool bz1=false,bz2=false;if (d[b[1]][b[2]]!=0&&d[b[1]][b[2]]==d[b[3]][b[4]]&&d[b[1]][b[3]]==d[b[2]][b[4]]&&d[b[1]][b[2]]==d[b[1]][b[3]]&&d[b[1]][b[4]]!=0&&d[b[1]][b[4]]==d[b[2]][b[3]]) bz1=true;if (d[b[5]][b[6]]!=0&&d[b[5]][b[6]]==d[b[7]][b[8]]&&d[b[5]][b[8]]!=0&&d[b[5]][b[8]]==d[b[6]][b[7]]&&d[b[5]][b[7]]!=0&&d[b[5]][b[7]]==d[b[6]][b[8]])  bz2=true;if (bz1&&bz2){sort(b+1,b+4+1);sort(b+5+1,b+8+1);printf("YES\n");for (int i=1;i<=4;i++)printf("%d ",b[i]);printf("\n");for (int i=5;i<=8;i++)printf("%d ",b[i]);exit(0);}
}void dfs(int wz)
{if (wz>8){check();return;}for (int i=1;i<=8;i++)if (!v[i]){v[i]=true;b[wz]=i;dfs(wz+1);v[i]=false;}
}int main()
{for (int i=1;i<=8;i++)scanf("%d%d",&a[i].x,&a[i].y);for (int i=1;i<=8;i++)for (int j=1;j<=8;j++)if (i!=j) d[i][j]=sqrt((a[i].x-a[j].x)*(a[i].x-a[j].x)+(a[i].y-a[j].y)*(a[i].y-a[j].y));memset(v,false,sizeof(v));dfs(1);printf("NO");return 0;
}

这篇关于KC看星的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/657966

相关文章

UL认证储能电表工商业储能智能计量电表ADL3000-E-B/KC

◉概述 ADL3000-E-B 导轨式多功能电能表,是主要针对电力系统,工矿企业,公用设施的电能统计、管理需求而设计的一款智能仪表,产品具有精度高、体积小、安装方便等优点。集成常见电力参数测量及电能计量及考核管理,提供上12月的各类电能数据统计。具有 2~31 次分次谐波与总谐波含量检测,带有开关量输入和开关量输出可实现“遥信”和“遥控”功能,并具备报警输出。带有RS485通信接口,可选用MOD

不看星创客精英五四节 竟不知道五四还可以这样过

斗指东南,维为立夏,万物至此皆长大。立夏之际,星创客们在华清远见北京总部也完成了半个月的学习和生活。褪去了初见时的陌生和尴尬,现在的他们已经逐渐熟悉了彼此,成为了学习上共同奋斗的战友,生活上互帮互助的小伙伴。随着这个班集体的逐渐融洽,是时候召开入学以来的第一次班会啦! 5月4日青年节这一天的下午,星创客精英班班会正式召开,班会以“团队合作”为主题,分为三个部分进行。 刚刚结束一天的课程,坐了一

KC的瓷器

题目描述 KC来到了一个盛产瓷器的国度。他来到了一位商人的店铺。在这个店铺中,KC看到了一个有n(1<=n<=100)排的柜子,每排都有一些瓷器,每排不超过100个。那些精美的艺术品使KC一下心动了,决定从N排的商品中买下m(1<=m<=10000)个瓷器。 这个商人看KC的脸上长满了痘子,就像苔藓一样,跟精美的瓷器相比相差太多,认为这么精致的艺术品被这样的人买走艺术价值会大打折扣。商人感到不爽

【图片新闻】KC-135加油机可能成为美国第一架服役100年的战机

星球大战峡谷位于加利福尼亚州的死亡谷,是世界上观看战斗机低空飞行的最佳地点之一。 据称,一艘名为“海洋山”的中国海军舰艇,船首安装了电磁轨道炮,驶离长江,正在太平洋上进行测试。第一次被外军发现是在2018年1月,如果情报属实的话,这应该是世界上第一艘安装电磁轨道炮的军舰。 据称是电磁轨道炮的细节,936号登陆舰 美军Zumwalt驱逐舰 KC-135空中加油机于1956年首次加

旅行也能玩儿转区块链?看星牛APP的!

近日,旅游类综合平台星牛旅行APP产品发布会在京拉开帷幕。 星牛旅行旨在打造“一个省钱又省心的旅游神器”,让用户的出行更便宜、便捷和安全。 会上,星牛旅行总裁张世魁详细阐述了星牛旅行的产品优势、品牌定位以及海量境外资源,并宣布将于8月27日重磅上线。 此外,星牛旅行副总陈双双也讲述了应用端的技术框架,展现了其前沿的技术实力。 现场启动星牛旅行   在当代紧促的生活节奏下,消费者更倾向于