2 qq 37002610 qq_37002610 于 2017.01.15 23:47 提问

杭电acm1007,不考虑运行时间问题,我的代码错在哪?

#include
#include
#include
using namespace std;
int main()
{
int N,i,j,k=0;

double min;
while (cin >> N&&N)
{
double x = new double[N];
double *y = new double[N];
double *d = new double[N
(N-1)];
for (i = 0; i < N; i++)
cin >> x[i] >> y[i];
for (i = 0; i < N-1; i++)
{
for (j = i + 1; j < N; j++)
{
if (x[i] == x[j] && y[i] == y[j]) d[k] = 0;
else d[k] = (x[i] - x[j])*(x[i] - x[j]) + (y[i] - y[j])*(y[i] - y[j]);
k++;
}
}
min = d[0];
for (k = 0; k < N*(N - 1) / 2; k++)
if (min > d[k]) min = d[k];
if(min!=0) min = sqrt(min)/2;
cout << setprecision(2) << fixed << min << endl;
delete []x, y, d;
}
return 0;
}
连续输入两次数据:
2
1 1
1 1
为什么第一次是0.00,第二次是-nan(ind)

1个回答

shen_wei
shen_wei   Ds   Rxr 2017.01.16 15:20
已采纳
 int main()
{
    int N,i,j,k=0;

    double min;
    while (cin >> N&&N)
    {
        double *x = new double[N];
        double *y = new double[N];
        double *d = new double[N-1];
        for (i = 0; i < N; i++)
            cin >> x[i] >> y[i];
        for (i = 0; i < N-1; i++)
        {
            for (j = i + 1; j < N; j++)
            {
                if (x[i] == x[j] && y[i] == y[j]) 
                    d[k] = 0;
                else 
                    d[k] = (x[i] - x[j])*(x[i] - x[j]) + (y[i] - y[j])*(y[i] - y[j]);
                k++;
            }
        }
        min = d[0];
        for (k = 0; k < N*(N - 1) / 2; k++)
        {
            if (min > d[k]) 
                min = d[k];
        }
        if(min!=0) 
            min = sqrt(min)/2;
        cout << setprecision(2) << fixed << min << endl;
        k = 0;  ////////////////////////
        delete x, y, d;
    }
    return 0;
}
qq_37002610
qq_37002610 回复人类新纪元开始了: 明白了,谢谢。
一年多之前 回复
shen_wei
shen_wei 自己好好对比吧。。里面的差别你没有看出来??
一年多之前 回复
qq_37002610
qq_37002610 我的代码格式似乎出了点问题,头文件名是#include<iostream> #include<cmath> #include<iomanip>,其他的和你的一样。那么请问你知道我错在哪吗?
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
杭电ACM题1007
Quoit Design Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 43918    Accepted Submission(s): 11417 Problem Description Have you ever
杭电 ACM 1007
先说下题意,很简单,给n个点的坐标,求距离最近的一对点之间距离的一半。 第一行是一个数n表示有n个点,接下来n行是n个点的x坐标和y坐标。实数。   这个题目其实就是求最近点对的距离。《算法导论》上有详细讲解,王晓东的书上也有代码。主要思想就是分治。先把n个点按x坐标排序,然后求左边n/2个和右边n/2个的最近距离,最后合并。 合并要重点说一下,比较麻烦。   首先,假设点是n个,编号
杭电ACM第1007题——Quoit Design
WA #include #include #include using namespace std; const int SIZE = 100005; typedef struct { double x; double y; }point; point p[SIZE], c[SIZE]/*用作辅助数组*/; double getDistance(point &a, point
杭电oj 1007
先看题目 Quoit Design Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 41329    Accepted Submission(s): 10767 Problem Description Have y
代码错在哪?
#include &amp;lt;cstdio&amp;gt;#include &amp;lt;iostream&amp;gt;#include &amp;lt;algorithm&amp;gt;#include &amp;lt;cstring&amp;gt;using namespace std;struct Student{ char xuehao[15];//学号 int score;//分数 int test_num;//考场 int test_ran...
【LDU】新生训练营杭电100题(二)
A - 发工资咯:)  http://acm.hdu.edu.cn/showproblem.php?pid=2021 Problem Description 作为杭电的老师,最盼望的日子就是每月的8号了,因为这一天是发工资的日子,养家糊口就靠它了,呵呵 但是对于学校财务处的工作人员来说,这一天则是很忙碌的一天,财务处的小胡老师最近就在考虑一个问题:如果每个老师的工资额都知道
杭电ACMA + B Problem II问题解析
A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 273307    Accepted Submission(s): 52784 Problem Description I have a v
错在哪~
# include # include void input(struct student * , int ); void output(struct student *, int); void sort(struct student * , int ); int main(void) { int len; struct student * p; struct student
vjudge新手常见错误(误)和好习惯18.2.23
**新手常见错误总结(误)**五道签到题而已..  快把我写死了**zj三分钟写完的题我可以WA一天(逃(跑丢了** 啊 总结比再去吭哧三十分钟重要啊935Ahttps://vjudge.net/problem/CodeForces-934ACodefores934A就是两个孩子,一个想让结果小,一个想大一、联系的方法论,zj正向讨论二、【常见错误】1.数组经常开小了,然后交上去的时候自己不知道干...
今天,我决定辞职了
        今天和省公司的领导谈了话,很和蔼的人。想当初也是他费了力气把我弄进来,还一次都没见过人家,第一次去见面就是提出辞职,唉。。。弄得我都不好意思。        其实这个地方在这里算是很好的了,福利很好,工作不累,就是那些作风我看不惯,管理乱的一塌糊涂,搞技术的还要经常去学校摆摊卖号。干活多的人出错多,背得黑锅多,奖金扣得多;不干活的一门心思搞关系,不出什么错,奖金高高地。这些国有企业