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 |
牛人们帮帮看看,我测试几组数据都没有问题,提交总说答案错误,第一次来,对与测试系统不太清楚#include <stdio.h> #include <stdlib.h> typedef struct inode{ int UnsortNum; char *ptr; inode *next; }Inode,*pInode; int CountUnsortNum(char buffer[],int m) { int i=0,j=0; int sum=0; for(i=0;i<m-1;i++) for(j=i+1;j<m;j++) if(buffer[i]>buffer[j]) ++sum; return sum; } int main() { int m,n,i,j; pInode plink; //char c; char **buffer; scanf("%d %d",&m,&n); buffer=(char**)malloc(n*sizeof(char*)); for(i=0;i<n;i++) buffer[i]=(char*)malloc((m+1)*sizeof(char)); if(!buffer) exit(-1); char c; fflush(stdin); for(i=0;i<n;i++){ for(j=0;j<m;j++){ c=getchar(); //printf("%c\n",c); while(c=='\n'||c=='\r'||c=='\t'||c==' ') { if(j!=0) { printf("i is %d,j is %d\n",i,j); exit(-1); } c=getchar(); } // if((c!='A')&&(c!='T')&&(c!='G')&&(c!='C')) // exit(-1); buffer[i][j]=c; } buffer[i][m]='\0'; } plink=(pInode)malloc(sizeof(Inode)); pInode p,ptemp; p=plink; p->next=NULL; for(i=0;i<n;i++){ if(!(ptemp=(pInode)malloc(sizeof(Inode)))) exit(-1); ptemp->ptr=buffer[i]; ptemp->UnsortNum=CountUnsortNum(buffer[i],m); ptemp->next=NULL; p->next=ptemp; p=p->next; } int min=0; pInode premin; while(plink->next){ premin=plink; min=plink->next->UnsortNum; for(p=plink;p->next!=NULL;p=p->next) { if(p->next->UnsortNum<min){ premin=p; min=p->next->UnsortNum; } } printf("%s\n",premin->next->ptr); p=premin->next; premin->next=p->next; free(p); p=NULL; } free(plink); plink=NULL; for(i=0;i<n;i++){ free(buffer[i]); buffer[i]=NULL; } free(buffer); buffer=NULL; return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator