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 |
这算法的确不错,非常暴力。。哈哈,如果是A-Z就爽了。。In Reply To:不解地问:怎么会WA? Posted by:seol at 2004-11-13 18:25:10 > 这是程序,高手帮忙看一下有什么数据能让它出错? > 顺便指出有啥更好的算法? > 谢谢了 > #include <stdio.h> > > int a[100][5]; > > int main() > { > int n,i,j,p,q,sum=0,b[5],max=65535,rez[5]; > char s[5]; > scanf("%d",&n); > for (i=0;i<n;i++) { > scanf("%s",s); > a[i][s[0]-'A']=1; > a[i][s[1]-'A']=2; > a[i][s[2]-'A']=3; > a[i][s[3]-'A']=4; > a[i][s[4]-'A']=5; > } > /* for (i=0;i<n;i++) printf("%d %d %d %d %d\n",a[i][0],a[i][1],a[i][2],a[i][3],a[i][4]);*/ > for (b[0]=1;b[0]<=5;b[0]++) /* A的位置 */ > for (b[1]=1;b[1]<=5;b[1]++) /* B的位置 */ > for (b[2]=1;b[2]<=5;b[2]++) /* C的位置 */ > for (b[3]=1;b[3]<=5;b[3]++) /* D的位置 */ > for (b[4]=1;b[4]<=5;b[4]++) { /* E的位置 */ > if ((b[0]!=b[1])&&(b[0]!=b[2])&&(b[0]!=b[3])&&(b[0]!=b[4])&&(b[1]!=b[2])&&(b[1]!=b[3])&&(b[1]!=b[4])&&(b[2]!=b[3])&&(b[2]!=b[4])&&(b[3]!=b[4])) { > sum=0; > for (i=0;i<4;i++) > for (j=i+1;j<5;j++) { > for (p=0;p<n;p++) { > if ((b[i]<b[j])&&(a[p][i]>a[p][j])) sum++; > if ((b[i]>b[j])&&(a[p][i]<a[p][j])) sum++; > } > } > if (max>sum) { > max=sum; > for (q=0;q<5;q++) rez[q]=b[q]; > } > } > } > for (j=1;j<6;j++) { > for (i=0;i<5;i++) > if (rez[i]==j) { > printf("%c",i+'A'); > break; > } > } > printf(" is the median ranking with value %d.\n",max); > /* for (i=0;i<5;i++) printf(" %d",rez[i]);*/ > /* printf("%c%c%c%c%c is the median ranking with value %d.\n",rez[0]+'A'-1,rez[1]+'A'-1,rez[2]+'A'-1,rez[3]+'A'-1,rez[4]+'A'-1,max);*/ > return 0; > } > Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator