POJ3664---没使用结构体,用数组(未AC)

来源:互联网 发布:mac照片如何归类 编辑:程序博客网 时间:2024/04/30 02:19

正如标题中所说,这个题在我用结构体做之前还尝试过使用数组,虽然自己的测试正确,但还是没有AC,我在这里也一并发出,希望有高人指点,我自己也会慢慢改动,直至AC!
下面是具体代码:

#include <stdio.h>#include <string.h>void qsort(double *a,int l,int r){    int key=a[l],i=l,j=r;    if(l>=r)    {        return ;     }    while(i<j)    {        while (i<j&&key>=a[j])        {            j--;        }        a[i]=a[j];        while (i<j&&key<=a[i])        {            i++;        }        a[j]=a[i];    }    a[i]=key;    qsort(a,l,i-1);    qsort(a,i+1,r);}int main(){    double a[50005][2],b[50005],c[50005],d[50005];    int n,m;    while (scanf("%d%d",&n,&m)!=EOF)    {    memset(a,0,sizeof(a));    memset(b,0,sizeof(b));    memset(c,0,sizeof(c));    memset(d,0,sizeof(d));    for(int i=0;i<n;i++)       for(int j=0;j<2;j++)       {            scanf("%lf",&a[i][j]);       }    for(int p=0;p<n;p++)    {        c[p]=a[p][0];    }    qsort(c,0,n-1);    for(int q=0;q<m;q++)    {        b[q]=c[q];    }    for(int k=0;k<m;k++)       for(int r=0;r<n;r++)       {            if(b[k]==a[r][0])                 {              d[k]=a[r][1];             }           }    qsort(d,0,m-1);    for(int w=0;w<=n;w++)    {    if(d[0]==a[w][1])    {        printf("%d",w+1);    }    }    }    return 0;   }

本人新手,望指导!

0 0