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 |
Re:帮个忙,浪费你几分钟,帮忙看看,是不是我理解错了题目In Reply To:帮个忙,浪费你几分钟,帮忙看看,是不是我理解错了题目 Posted by:948142658 at 2012-06-09 01:35:56 #include<math.h> #include<iostream> using namespace std; #define N 10000 int main() { int R[N],G[N],B[N],flag=0; int D=0; int i=0,j=0,k=0; int temp; do {cin>>R[i]>>G[i]>>B[i]; i++; } while (R[i-1]!=-1&&G[i-1]!=-1&&B[i-1]!=-1); for (j=16;j<i-1;j++)//从第 17 个开始,一个一个输出 { D=(R[j]-R[0])*(R[j]-R[0])+(G[j]-G[0])*(G[j]-G[0])+(B[j]-G[0])*(B[j]-G[0]); for (k=1;k<16;k++) { temp=(R[j]-R[k])*(R[j]-R[k])+(G[j]-G[k])*(G[j]-G[k])+(B[j]-B[k])*(B[j]-B[k]); if (D>temp)//存在最小的,交换 { D=temp; flag=k;//修改标志 } } cout<<"("<<R[j]<<","<<G[j]<<","<<B[j]<<") maps to ("<<R[flag]<<","<<G[flag]<<","<<B[flag]<<")"<<endl; } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator