数字数据fzu 2120 数字排列

最近研究数字数据,稍微总结一下,以后继续补充:

    

    Problem 2120 数字排列

    

    

Accept: 38    Submit: 176
Time Limit: 1000 mSec    Memory Limit : 32768 KB

    

Problem Description

S到得了一个数,他为认相邻位上的数字与数字之间会发生不良影响,比如123,1和2之间发生一个不良影响值,2和3之间发生一个不良影响值。在现他想整调这个数每位的数字的序顺,使得终究到得的数的总的不良影响值最小,且没有导前0。

Input

入输数据的第一行为T示表有T组数据。每组数据先入输一个整数n(0<n<1000000000),接下来入输10*10的矩阵,Aij示表数字i与数字j相邻发生的不良影响值,0<Aij<1000000,矩阵是对称的,Aij与Aji相称。

Output

对于每组数据输出一行一个数,示表最小的不良影响值。

 

Sample Input

1 123 0 0 0 0 0 0 0 0 0 0 0 0 10 1 0 0 0 0 0 0 0 10 0 2 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Sample Output

3

Source

FOJ有奖月赛-2013年4月(校赛热身赛)
    每日一道理
曾经辉煌过,曾经凋零过,这可是你至死不渝的生活吗?我亲爱的母亲—大自然。多少次,我伏在地上,去聆听你沉重的脉搏声;多少次,我伫立在山前,去感受那松涛千年的浩瀚。你的豪壮,足以让中华民族腾飞;你的无私,谱写了一曲曲感人至深的千古壮曲。

    
这是一道TSP的种变题,由于不大于12,故用DFS+剪枝可以过

    没啥好讲的,就是不能有导前0,囧,刚开始不当真读题,WA得措所知不

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int map[11][11],v[11],a[11];
int mx,mn,n,ans;
void dfs(int x,int cost,int k){//id  消费  个数
	if(k==n){ans=min(ans,cost);return ;}
	if(cost+(n-k)*mn>=ans)return;//剪枝
	for(int i=0;i<n;i++){
		if(v[i]==1)continue;
		v[i]=1;
		dfs(a[i],cost+map[x][a[i]],k+1);
		v[i]=0;
	}
}
int main(){
	int T;
	char ch[11];
	cin>>T;n=0;
	while(T--){
		//cout<<"start"<<endl;
		//while((c=getchar())!='\n')a[n++]=c-'0';
		cin>>ch;n=strlen(ch);
		for(int i=0;i<n;i++)a[i]=ch[i]-'0';
		mn=100000000;mx=-1;ans=0;
		for(int i=0;i<10;i++)
			for(int j=0;j<10;j++){
				cin>>map[i][j];
				if(map[i][j]!=0){
					mn=min(map[i][j],mn);
					mx=max(map[i][j],mx);
					ans+=map[i][j];
				}
			}
	       if(mx==mn)ans=(n-1)*mn;//如果全体相称,ans=(n-1)*mx
		   else {
			for(int i=0;i<n;i++){
			if(a[i]==0)continue;
			memset(v,0,sizeof(v));
			v[i]=1;
			dfs(a[i],0,1);
			}
		   }
			cout<<ans<<endl;
	}
return 0;
}

    
 

文章结束给大家分享下程序员的一些笑话语录: 3G普不普及现在已经不是看终端了,而是看应用,有好的,便宜实用的应用,花1000多买个能用的智能手机应该不是什么难事。反过来说,你200元拿一个智能手机,没有好的应用,看个电影要几十元,也是没人用3G。

posted @ 2013-04-25 19:43  坚固66  阅读(250)  评论(0编辑  收藏  举报