Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
哪位高人帮我看看,我自己试完全一样,提交总说wrong answer这是我辛苦做的 #include <stdio.h> #include <math.h> void main(){ int R[16],G[16],B[16],D[16]; int i=0,r,g,b,n=0; for(i=0;i<16;i++) scanf("%d %d %d",&R[i],&G[i],&B[i]); a: scanf("%d %d %d",&r,&g,&b); while(r!=-1&&g!=-1&&b!=-1){ for(i=0;i<16;i++) D[i]=(R[i]-r)*(R[i]-r)+(G[i]-g)*(G[i]-g)+(B[i]-b)*(B[i]-b); for(i=1;i<16;i++) if(D[i]<D[0]){ D[0]=D[i]; n=i;} printf("(%d %d %d) maps to (%d %d %d)\n",r,g,b,R[n],G[n],B[n]); goto a;}} 提交下面这个就可以,是同学的 #include<stdio.h> void main(){ int x[100],y[100],z[100],t[100]; int i,j,a,b,c; for(i=1;i<17;i++) scanf("%d %d %d",&x[i],&y[i],&z[i]); scanf("%d %d %d",&a,&b,&c); while(a!=-1&&b!=-1&&c!=-1){ int n=1;//这地方要先负值,不然的话就有可能 for(i=1;i<=16;i++) t[i]=(a-x[i])*(a-x[i])+(b-y[i])*(b-y[i])+(c-z[i])*(c-z[i]); for(i=2;i<=16;i++) if(t[1]>t[i]){ j=t[1]; t[1]=t[i]; t[i]=j; n=i; } printf("(%d,%d,%d) maps to (%d,%d,%d)\n",a,b,c,x[n],y[n],z[n]); scanf("%d %d %d",&a,&b,&c); } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator