您的位置:首页 > 其它

CF 92 div2 B

2013-07-22 21:19 351 查看
题目:http://codeforces.com/problemset/problem/124/B

思路:学会用while(next_permutation(...))

#include <cstdio>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstring>
using namespace std;
#define inf 0xfffffff
int num[10][10];
int p[10];
int main()
{
char s;
int n,k;
cin>>n>>k;
for(int i=0;i<n;i++)
for(int j=0;j<k;j++)
{
cin>>s;
num[i][j]=s-'0';
}
for(int i=0;i<k;i++)
p[i]=i;
int ans=inf;
do{
int mx=-inf,mi=inf;
int tmp;
for(int i=0;i<n;i++)
{
tmp=0;
for(int j=0;j<k;j++)
{
tmp*=10;
tmp+=num[i][p[j]];
}
mi=min(mi,tmp);
mx=max(mx,tmp);
}
ans=min(mx-mi,ans);
}while(next_permutation(p,p+k));
cout<<ans<<endl;
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: