Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int x[16], y[16];
- int n, ans;
- vector<int> seen;
- void kim(int cur, int indcnt, int cost){
- if(indcnt==n){
- ans=min(ans, cost+abs(x[cur]-x[1])+abs(y[cur]-y[1]));
- return;
- }
- for(int i=2; i<n+2; i++){
- if(seen[i]==0){
- seen[i]=1;
- kim(i, indcnt+1, cost+abs(x[cur]-x[i])+abs(y[cur]-y[i]));
- seen[i]=0;
- }
- }
- }
- int main(){
- int t=10;
- int cases=1;
- while(t--){
- cin >> n;
- seen.assign(n+2, 0);
- for(int i=0; i<n+2; i++){
- cin >> x[i] >> y[i];
- }
- ans=INT_MAX;
- kim(0, 0, 0);
- cout << "# " << cases++ << " " << ans << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement