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 |
prim算法做此题,为何一直WA!!#include<iostream> using namespace std; int arr[2010][2010]; char type[2010][10]; int main() { int N,num; while(cin>>N&&N) { bool flag[2010]; int c[2010]; memset(flag,0,sizeof(flag)); memset(c,0,sizeof(c)); for(int i=1;i<2010;i++) for(int j=1;j<2010;j++) arr[i][j]=999; for(int i=1;i<=N;i++) { cin>>type[i]; for(int j=1;j<=i;j++) { num=0; for(int k=0;k<7;k++) { if(type[i][k]!=type[j][k]) num++; } arr[i][j]=num; arr[j][i]=num; } } flag[1]=true; int u=0,dist=0; for(int i=2;i<=N;i++) c[i]=arr[1][i]; for(int j=1;j<N;j++) { int min=9999999; for(int i=2;i<=N;i++) { if(c[i]<min&&!flag[i]) u=i; min=c[i]; } flag[u]=true; dist+=min; for(int k=1;k<=N;k++) if(arr[u][k]<c[k]&&!flag[k]) c[k]=arr[u][k]; } cout<<"The highest possible quality is 1/"<<dist<<"."<<endl; } //system("pause"); return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator