Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Task : _example
- Author : Phumipat C. [MAGCARI]
- Language: C++
- Created : 25 January 2023 [21:15]
- */
- #include<bits/stdc++.h>
- using namespace std;
- struct A{
- int x,y,z,m,k,c;
- };
- A a[12];
- int mark[12];
- int n,M,mn = 1e9;
- void permute(int x,int y,int z,int monitor,int keyboard,int cpu,int dist){
- if(monitor >= n && keyboard >= n && cpu >= n){
- mn = min(mn,dist);
- return ;
- }
- for(int i=0;i<M;i++){
- if(mark[i]) continue;
- mark[i] = 1;
- 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));
- mark[i] = 0;
- }
- }
- int main(){
- cin.tie(0)->sync_with_stdio(0);
- cin.exceptions(cin.failbit);
- int x,y,z;
- scanf("%d %d %d %d %d",&n,&x,&y,&z,&M);
- for(int i=0;i<M;i++)
- 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);
- permute(x,y,z,0,0,0,0);
- printf("%d\n",mn);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment