| ||||||||||
| 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 | |||||||||
用记忆化搜索好做In Reply To:那位帮我看下有什么数据通不过,谢谢了;为什么总是WRONG ANSWER!!!万分感谢。。。。 Posted by:boys at 2006-07-22 18:32:12 > #include <iostream>
>
> using namespace std;
> int m,n;
> struct node
> {
> int N;
> int l,r;
> };
> void copy(node &a,node &b)
> {
> a.N=b.N;a.l=b.l;a.r=b.r;
> }
> int Partition(node a[],int low,int high)
> {
> int pivotloc;
> copy(a[0],a[low]);
> pivotloc=a[low].N;
> while(low<high)
> {
> while(low<high&&a[high].N>=pivotloc)
> --high;
> if(low<high){
> copy(a[low++],a[high]);
> }
> while(low<high&&a[low].N<=pivotloc)
> ++low;
> if(low<high)
> {
> copy(a[high--],a[low]);
> }
> }
> copy(a[low],a[0]);
> return low;
> }
> void QSort(node a[],int s,int t)
> {
> int pivotloc;
>
> if(s<t){
> pivotloc=Partition(a,s,t);
> QSort(a,s,pivotloc-1);
> QSort(a,pivotloc+1,t);
> }
> }
> void Quick_sort(node a[])
> {
> QSort(a,1,m*n);
>
> }
> int main()
> {
> int **a,i,j,k=1,*visted;
> node *b;
> int c[4][2]={{0,-1},{0,1},{-1,0},{1,0}};
> cin>>m>>n;
> a=new int*[m+2];
> for(i=0;i<m+2;i++)
> a[i]=new int[n+2];
> b=new node[m*n+1];
> visted=new int[m*n+1];
> for(i=1;i<=m*n;i++)
> visted[i]=1;
> for(i=1;i<=m;i++)
> for(j=1;j<=n;j++)
> {
> cin>>a[i][j];
> }
> for(i=1;i<=m;i++)
> for(j=1;j<=n;j++)
> {
> b[k].N=a[i][j];
> b[k].l=i;
> b[k].r=j;
> k++;
> }
> Quick_sort(b);
> int sum=0,count=1;
> node p;k=1;
> for(k=1;k<=m*n-sum;k++)
> {
> if(visted[k])
> {
> copy(p,b[k]);visted[k]=0;
> for(i=k+1;i<=m*n;i++)
> {
> for(j=0;j<4;j++)
> if((p.l+c[j][0])>=1&&(p.l+c[j][0])<=m&&(p.r+c[j][1])>=1&&(p.r+c[j][1])<=n&&
> a[p.l+c[j][0]][p.r+c[j][1]]==b[i].N&&b[i].N>p.N)
> {
> count++;
> p.N=p.l=p.r=0;
> copy(p,b[i]);
> visted[i]=0;
> break;
> }
> }
> if(count>sum)sum=count;
> }
> count=1;
> }
> cout<<sum<<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