【HDOJ】1310 Team Rankings
STL的应用,基本就是模拟题。
/* 1410 */
#include <iostream>
#include <string>
#include <algorithm>
#include <map>
#include <cstdio>
#include <cstring>
using namespace std; #define ONLINE_JUDGE
#define MAXN 125
#define INF 0xfffffff int nn;
int dis[MAXN][MAXN];
string buf[MAXN];
bool visit[];
map<string, int> tb;
int a[MAXN]; int myabs(int x) {
return x< ? -x:x;
} void init() {
string s = "ABCDE";
nn = ;
int i, j, k, p;
int sum, tmp; do {
buf[nn] = s;
tb[s] = nn++;
} while (next_permutation(s.begin(), s.end())); for (i=; i<nn; ++i) {
dis[i][i] = ;
for (j=i+; j<nn; ++j) {
sum = ;
memset(visit, false, sizeof(visit));
for (k=; k<; ++k) {
for (p=; p<; ++p) {
if (buf[j][p] == buf[i][k])
break;
else if (!visit[buf[j][p]-'A'])
++sum;
}
visit[buf[i][k]-'A'] = true;
}
dis[i][j] = dis[j][i] = sum;
}
}
} int main() {
int n;
int i, j, k, tmp;
int v, mmin, sum;
string s; ios::sync_with_stdio(false); #ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
freopen("data.out", "w", stdout);
#endif init();
while (cin>>n && n) {
for (i=; i<n; ++i) {
cin >>s;
a[i] = tb[s];
}
mmin = INF;
for (i=; i<nn; ++i) {
sum = ;
for (j=; j<n; ++j)
sum += dis[i][a[j]];
if (sum < mmin) {
v = i;
mmin = sum;
}
}
printf("%s is the median ranking with value %d.\n", buf[v].c_str(), mmin);
} return ;
}
【HDOJ】1310 Team Rankings的更多相关文章
- 【BZOJ1901】Zju2112 Dynamic Rankings 主席树+树状数组
		
[BZOJ1901]Zju2112 Dynamic Rankings Description 给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j ...
 - 【BZOJ1901】 Zju2112 Dynamic Rankings(树套树)
		
[题意] 给定一个含有n个数的序列a[1],a[2],a[3]--a[n], 程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]--a[j]中第k小的数是多少(1≤k ...
 - 【HDOJ】4251 The Famous ICPC Team Again
		
划分树模板题目,主席树也可解.划分树. /* 4251 */ #include <iostream> #include <sstream> #include <strin ...
 - 【HDOJ】4729 An Easy Problem for Elfness
		
其实是求树上的路径间的数据第K大的题目.果断主席树 + LCA.初始流量是这条路径上的最小值.若a<=b,显然直接为s->t建立pipe可以使流量最优:否则,对[0, 10**4]二分得到 ...
 - 【Usaco2006Mar】Milk Team Select产奶比赛
		
[思路分析] 比赛的时候想到了用我确实也想到了树形DP,但是状态没有确定对,连样例都没有过 PS:这是第二道发现还可以用状态作为答案最后输出的题目 正解:树形DP(背包) 按照读进来的数据,我们先建一 ...
 - 【HDOJ】【3506】Monkey Party
		
DP/四边形不等式 裸题环形石子合并…… 拆环为链即可 //HDOJ 3506 #include<cmath> #include<vector> #include<cst ...
 - 【HDOJ】【3516】Tree Construction
		
DP/四边形不等式 这题跟石子合并有点像…… dp[i][j]为将第 i 个点开始的 j 个点合并的最小代价. 易知有 dp[i][j]=min{dp[i][j] , dp[i][k-i+1]+dp[ ...
 - 【HDOJ】【3480】Division
		
DP/四边形不等式 要求将一个可重集S分成M个子集,求子集的极差的平方和最小是多少…… 首先我们先将这N个数排序,容易想到每个自己都对应着这个有序数组中的一段……而不会是互相穿插着= =因为交换一下明 ...
 - 【HDOJ】【2829】Lawrence
		
DP/四边形不等式 做过POJ 1739 邮局那道题后就很容易写出动规方程: dp[i][j]=min{dp[i-1][k]+w[k+1][j]}(表示前 j 个点分成 i 块的最小代价) $w(l, ...
 
随机推荐
- evernote出现"Invalid username and/or password"的情况
			
evernote出现"Invalid username and/or password"的情况 evernote挺好用的,可是这几年用下来也遇到过狗血情况,几乎每次都是更新后出状况 ...
 - 编程算法 - 连续子数组的最大和 代码(C)
			
连续子数组的最大和 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 输入一个整型数组, 数组里有正数也有负数. 数组中一个或连续的多个整数组成一 ...
 - Java Applet读写client串口——终极篇
			
測试环境: SDK:Oracle JRockit for Java version 6, Java Communication for Windows 2.0 OS:WINDOWS7 外设:串口条形码 ...
 - Linux开发工具之gdb(下)
			
三.gdb调试(下) 01.查看运行时数据 print - 查看变量值 ptype - 查看类型 print array - 查看数组 print *array@len - 查看动态内存 print ...
 - js动态添加table 数据tr td
			
成果库修改: 要求主题列表随成果类型改变而改变 网上查询资料后开工,在成果类型下拉框添加change()事件触发Dwr,查询主题集合——动态创建/编辑Table 概要代码 ...
 - JavaScript--动态更改CSS样式
			
JavaScript太强大了,虽然是弱语言,不过一点都不输于Java 可以自行设置随机数,来动态更改CSS样式,每一次都是不一样的感觉,这个小功能挺实用的 <!DOCTYPE html> ...
 - 全文索引--自定义chinese_lexer词典
			
全文索引它的数据字典本来就是自己加密过的数据格式,只有翻译过来了,才可以修改.这样修改后再生成它自己的数据格式文件,覆盖掉原来的,就会将新添加的关键词加入进去了!! 以下操作是在Oracle服务器安装 ...
 - 2D简单图形相关算法罗列
			
因为平常在Qt开发过程中经常会与一些简单的2D几何图形打交道,因此学习和掌握一些基本的2D几何计算还是很有必要的,在这里罗列一些常用的基本情况,之后会适时补充. [1] 两点之间距离,根据两个点的差值 ...
 - 动态加载下拉框列表并添加onclick事件
			
1. js动态加载元素并设置属性 摘自(http://www.liangshunet.com/ca/201408/336848696.htm) <div id="parent&quo ...
 - IIS 7.5 部署ASP.Net MVC 网站
			
請務必註冊 ASP.NET 4.0:若是 32 位元則是 %WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -ir 1.首先确定已经安 ...