zoj 2207 Team Rankings

原创 2012年03月31日 12:20:27
//由字符串“ABCDE”的所有排序(可以通过stl中的next_permutation直接得出)与input中
//的字符串进行比较,找出差距值最小的字符串!
#include "iostream"
#include "map"
#include "algorithm"
#include "string"
#include "limits.h"
using namespace std;

string input[110];
map<char, int> m;

int solve(string temp)//比较两个字符串的差距值
{
	int i, j, sum = 0;
	for (i = 0; i < 4; i++)
		for (j = i + 1; j < 5; j++)
		{
			if (m[temp[i]] > m[temp[j]])
				sum++;
		}
	return sum;
}

int main()
{
	int n, i, count, sum;
	string first, temp;
	while (cin >> n && n)
	{
		for (i = 0; i < n; i++)
			cin >> input[i];
		first = "ABCDE";
		count = INT_MAX;
		do
		{
			for (i = 0; i < 5; i++)
				m[first[i]] = i + 1;
			sum = 0;
			for (i = 0; i < n; i++)
				sum += solve(input[i]);
			if (count > sum)
			{
				count = sum;
				temp = first;
			}
		}while (next_permutation(first.begin(), first.begin() + 5));
		//由此函数可以生成字符串“ABCDE”的所有排序!
		cout << temp << " is the median ranking with value " << count << "." << endl;
	}
}

ZOJ 2207 Team Rankings

枚举ABCDE排列即可,next_permutation好用. #include #include #include #include using namespace std; struc...
  • zxjcarrot
  • zxjcarrot
  • 2013年05月17日 22:52
  • 398

ZOJ - 2207 Team Rankings(待ac)

这个题主要是代码写起来麻烦,dfs。 等状态好了再独立写出。 http://blog.csdn.net/zxy_snow/article/details/6131852 http://blog....
  • acm_1361677193
  • acm_1361677193
  • 2015年07月25日 20:05
  • 179

zoj 2207 || poj 2038 Team Rankings(= =)

看题目看了半个小时才明白 = =。英语水平啊。。。ABCDE中两两相对位置共有4+3+2+1 = 10种。两个字符串比较,相对位置不同的存下,比如 ABCDE 和 ACBDE,相对位置就BC不一样,所...
  • zxy_snow
  • zxy_snow
  • 2011年01月12日 16:29
  • 1767

整体二分&cdq分治 ZOJ 2112 Dynamic Rankings

题目:单点更新查询区间第k大 按照主席树的思想,要主席树套树状数组。即按照每个节点建立主席树,然后利用树状数组的方法来更新维护前缀和。然而,这样的做法在实际中并不能AC,原因即卡空间。 因此我...
  • Frosero
  • Frosero
  • 2015年09月18日 22:35
  • 852

zoj 2112 Dynamic Rankings

Dynamic Rankings Time Limit: 10 Seconds Memory Limit: 32768 KB The Company Dynamic Rankings has ...
  • clover_hxy
  • clover_hxy
  • 2016年03月07日 21:54
  • 303

zoj2112--Dynamic Rankings(树状数组+主席树)

题目连接:zoj2112 给出n个点,两种操作,Q:询问在[l,r]内的第k大的数,C:更改第i个数位x 动态的询问第k大,使用树状数组修改和查询前缀和。 因为给出的空间小,所以可以将n个点做成...
  • u013015642
  • u013015642
  • 2015年04月27日 21:37
  • 1253

soj.1006 Team Rankings

问题介绍:输入n个ABCDE的组合字符串,要求找出与这些组合的各字母组(如A和B的关系)的前后顺序差别最少的一个组合。 问题剖析:一开始我本来是不想用枚举看能不能做出来,但明显这题需要枚举,...
  • qq_26814841
  • qq_26814841
  • 2015年09月20日 16:51
  • 208

poj 2038 Team Rankings 枚举排列

//poj 2038 //sep9 #include #include using namespace std; char s[128][8]; int count(char s1[],char ...
  • sepNINE
  • sepNINE
  • 2015年07月06日 10:21
  • 690

ZOJ 1112 Dynamic Rankings【动态区间第K大,整体二分】

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1112题意:求动态区间第K大。分析:把修改操作看成删除与增加,对所有操...
  • Yukizzz
  • Yukizzz
  • 2016年05月09日 21:59
  • 1207

[sicily online]1006. Team Rankings

Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description It's preseason and the loca...
  • qiuchenl
  • qiuchenl
  • 2012年11月28日 16:55
  • 1290
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:zoj 2207 Team Rankings
举报原因:
原因补充:

(最多只允许输入30个字)