[ create a new paste ] login | about

Link: http://codepad.org/9t0HGCgj    [ raw code | output | fork ]

C++, pasted on May 13:
//
//  2.cpp
//  
//
//  Created by Gaurav Gulzar on 13/05/15.
//
//

#include <iostream>
using namespace std;

class PublicTransit{
public:
    int maxd;
    int getans(int x1,int y1, int x2, int y2, int R, int C){
        int md=0;
        for(int i=0; i<R; ++i){
            for(int j=0; j<C; ++j){
                for(int k=i; k<R; ++k){
                    for(int l=j; l<C; ++l){
                        int d1 = abs(k-i),d2 = abs(l-j);
                        int d3 = abs(i-x1)+abs(j-y1)+abs(k-x2)+abs(l-y2), d4 = abs(i-x2)+abs(j-y2)+abs(k-x1)+abs(l-y1);
                        md = max(md, ( min( d1+d2, min(d3,d4) ) ) );
                    }
                }
            }
        }
        return md;
    }
    int minimumLongestDistance(int R, int C){
       // int tpx1,tpy1,tpx2,tpy2;
        maxd = 100000;
        for(int i=0; i<R; ++i){
            for(int j=0; j<C; ++j){
                for(int k=i;k<R;++k){
                    for(int l=j; l<C; ++l){
                        maxd = min(getans(i,j,k,l,R,C),maxd);
                    }
                }
            }
        }
        return maxd;
    }
};

int main(){
    PublicTransit p;
    cout << p.minimumLongestDistance(5,3) << "\n";
}


Output:
1
3


Create a new paste based on this one


Comments: