hdu1584

来源:互联网 发布:上海和数软件 编辑:程序博客网 时间:2024/06/06 22:45

https://vjudge.net/problem/30554/origin
中文题意,不解释

#include<iostream>#include<algorithm>#include<cstring>using namespace std;int a[11],vis[11],ans;void dfs(int time,int sum){    if(sum>ans)return;    if(time==9){        ans=sum;        return;    }    for(int i=1;i<10;i++){        if(!vis[i]){            vis[i]=1;            for(int j=i+1;j<=10;j++){                if(!vis[j]){                    dfs(time+1,sum+abs(a[i]-a[j]));                    break;                }            }            vis[i]=0;        }    }}int main(){    int n,x;    cin>>n;    while(n--){        for(int i=1;i<=10;i++){        cin>>x;        a[x]=i;    }    memset(vis,0,sizeof(vis));    ans=0x7fffffff;    dfs(0,0);    cout<<ans<<endl;    }    return 0;}
0 0
原创粉丝点击