Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:思路很重要阿

Posted by 0810311106 at 2009-08-19 19:50:01 on Problem 2681 and last updated at 2009-08-19 19:52:52
In Reply To:思路很重要阿 Posted by:zyz at 2007-06-16 10:57:19
> 排序+LCS->1000ms
这个有点小错误。我的好像只要300多毫秒(自愧不如啊!)。还是贴我的代码(做为各位同方法解题的参考吧):
#include"stdio.h"
#include"string.h"
#include"stdlib.h"
int cmp(const void *a,const void *b)
{
	return *(char*)a-*(char*)b>0?1:-1;
}
int main()
{
	int n,q=0;
	scanf("%d",&n);
	getchar();
	while(n--)
    {
	   char a[80];
	   char b[80];
	   int i,j,k=0,s,m;
	   int c[80][80]={0};
	   q++;
	   gets(a);
	   gets(b);
	   qsort(a,strlen(a),sizeof(a[0]),cmp);
	   qsort(b,strlen(b),sizeof(b[0]),cmp);
       for(i=1;i<=strlen(a);i++)
       for(j=1;j<=strlen(b);j++)
       {
       	 if(a[i-1]==b[j-1])
       	 c[i][j]=c[i-1][j-1]+1;
       	 else if(a[i-1]!=b[j-1])
       	 {
       	   c[i][j]=c[i-1][j]>=c[i][j-1]? c[i-1][j]:c[i][j-1];
       	 }
       } 
      printf("Case #%d:  %d\n",q,strlen(a)+strlen(b)-2*c[strlen(a)][strlen(b)]);
    }
	return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator