MAGCARI

Spaceship

Jan 25th, 2023
853
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.88 KB | None | 0 0
  1. /*
  2.     Task    : _example
  3.     Author  : Phumipat C. [MAGCARI]
  4.     Language: C++
  5.     Created : 25 January 2023 [21:15]
  6. */
  7. #include<bits/stdc++.h>
  8. using namespace std;
  9. struct A{
  10.     int x,y,z,m,k,c;
  11. };
  12. A a[12];
  13. int mark[12];
  14. int n,M,mn = 1e9;
  15. void permute(int x,int y,int z,int monitor,int keyboard,int cpu,int dist){
  16.     if(monitor >= n && keyboard >= n && cpu >= n){
  17.         mn = min(mn,dist);
  18.         return ;
  19.     }
  20.     for(int i=0;i<M;i++){
  21.         if(mark[i]) continue;
  22.         mark[i] = 1;
  23.         permute(a[i].x,a[i].y,a[i].z,monitor+a[i].m,keyboard+a[i].k,cpu+a[i].c,dist+(a[i].x-x)*(a[i].x-x) + (a[i].y-y)*(a[i].y-y) + (a[i].z-z)*(a[i].z-z));
  24.         mark[i] = 0;
  25.     }
  26. }
  27. int main(){
  28.     cin.tie(0)->sync_with_stdio(0);
  29.     cin.exceptions(cin.failbit);
  30.     int x,y,z;
  31.     scanf("%d %d %d %d %d",&n,&x,&y,&z,&M);
  32.     for(int i=0;i<M;i++)
  33.         scanf("%d %d %d %d %d %d",&a[i].x,&a[i].y,&a[i].z,&a[i].m,&a[i].k,&a[i].c);
  34.     permute(x,y,z,0,0,0,0);
  35.     printf("%d\n",mn);
  36.     return 0;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment