一.  题意

   这道题就是考排列组合吧,再来就是比较一下字符的下标算一下两个ranking的距离。然后我总结了一个排列和一个组合的实现方法,这道题直接用的是stl    里面的next_permutation,注意要排好序,好像也有一个previous_permutation的方法的,不过没用过。

二.  过程

  1. 算出120情况,还好这里是5个字符
  2. 然后写出计算两个ranking的函数。
  3. 然后就是算最小值啦。

三.

 //
// main.cpp
// sicily-1006
//
// Created by ashley on 14-10-7.
// Copyright (c) 2014年 ashley. All rights reserved.
// #include <iostream>
#include <algorithm>
#include <stack>
using namespace std;
string permutations[];
string guess[];
//获得120种ABCDE的排列情况
void getPermutaions()
{
int counter = ;
string cha = "ABCDE";
string adding;
do {
adding = cha;
permutations[counter++] = adding;
} while (next_permutation(cha.begin(), cha.begin() + ));
}
//查找一个字符在字符串里面的下标
int finding(char c, string s)
{
int len = (int)s.length();
for (int i = ; i < len; i++) {
if (s[i] == c) {
return i;
}
}
return ;
}
//计算两个字符串的差值
int compare(string ss, string r)
{
int len = (int)ss.length();
int sum = ;
for (int i = ; i < len - ; i++) {
for (int j = i + ; j < len; j++) {
if (finding(r[i], ss) > finding(r[j], ss)) {
sum++;
}
}
}
return sum;
}
int main(int argc, const char * argv[])
{
int cases;
getPermutaions();
while (cin >> cases) {
if (cases == ) {
break;
}
int min = * cases;
int key = -;
for (int i = ; i < cases; i++) {
cin >> guess[i];
}
for (int i = ; i < ; i++) {
int diff = ;
for (int j = ; j < cases; j++) {
diff = diff + compare(guess[j], permutations[i]);
}
if (diff < min) {
key = i;
min = diff;
}
}
cout << permutations[key] << " is the median ranking with value " << min << "." << endl;
}
return ;
}

源码

Sicily-1006的更多相关文章

  1. SCNU 2015ACM新生赛初赛【1006. 3D打印】解题报告

            题目链接详见SCNU 2015新生网络赛 1006. 3D打印 .出题思路来自codevs 3288. 积木大赛,属于模拟题.         首先我们把“选择从第L部分到第R部分”理 ...

  2. sicily 中缀表达式转后缀表达式

    题目描述 将中缀表达式(infix expression)转换为后缀表达式(postfix expression).假设中缀表达式中的操作数均以单个英文字母表示,且其中只包含左括号'(',右括号‘)’ ...

  3. sicily 1934. 移动小球

    Description 你有一些小球,从左到右依次编号为1,2,3,...,n. 你可以执行两种指令(1或者2).其中, 1 X Y表示把小球X移动到小球Y的左边, 2 X Y表示把小球X移动到小球Y ...

  4. PKU 1006

    数学问题吧,有兴趣的可以研究一下“中国剩余定理” // 1006.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include < ...

  5. 【BZOJ】1006: [HNOI2008]神奇的国度

    http://www.lydsy.com/JudgeOnline/problem.php?id=1006 题意:在一个弦图中找最少染色数.(n<=10000, m<=1000000) #i ...

  6. BZOJ 1006 [HNOI2008] 神奇的国度(简单弦图的染色)

    题目大意 K 国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即 AB 相互认识,BC 相互认识,CA 相互认识,是简洁高效的.为了巩固三角关系,K 国禁止四边关系,五边关系等 ...

  7. POJ 1006 - Biorhythms (中国剩余定理)

    B - Biorhythms Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Subm ...

  8. 1006 最长公共子序列Lcs

    1006 最长公共子序列Lcs 基准时间限制:1 秒 空间限制:131072 KB 给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的). 比如两个串为: abcicba abdks ...

  9. PAT乙级 1006. 换个格式输出整数 (15)

    1006. 换个格式输出整数 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们用字母B来表示“百” ...

  10. BZOJ 1006 神奇的国度(弦图的染色数)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1006 题意:给定一个弦图,求最小染色数.就是用最小数目的颜色进行染色使得任意两个相邻的节 ...

随机推荐

  1. 不允许在单例对象中创建Srping容器

    spring.net在使用的时候,不允许在单例对象中创建Srping容器 需要将实例化模式转为单例singleton=“false”

  2. iOS开发笔记 基于wsdl2objc调用asp.net WebService

    1.准备 先下载待会要用到的工具 WSDL2ObjC-0.6.zip WSDL2ObjC-0.7-pre1.zip 我用的是WSDL2ObjC-0.6.zip 1.1搭建asp.net WebServ ...

  3. JavaBean组件在JSP文档中的应用

    Bean: package cn.donghaua.bean; public class StringBean { private String message = "No message ...

  4. 驴吃胡萝卜问题——牛客/FEI

    一个商人骑一头驴要穿越1000公里长的沙漠,去卖3000根胡萝卜.已知驴一次性可驮1000根胡萝卜,但每走1公里又要吃掉1根胡萝卜.问:商人最多可卖出多少胡萝卜? 一个商人骑一头驴要穿越1000公里长 ...

  5. android——manifest.xml

  6. 国内外主流BI厂商对比

    BI(Business Intelligence),即商业智能或者商务智能,它是一套完整的解决方案,用来将企业中现有的数据进行有效的整合,快速准确的提供报表并提出决策依据,帮助企业做出明智的业务经营决 ...

  7. Protel 99SE PCB 打印技巧

    1. 打开 Protel99SE PCB 设计文档.从菜单File 下单击Print/Preview 打印预览菜单.出现PCB 打印预览介面. 2.从File 下单击 Setup Printer 设置 ...

  8. 使用libcurl POST数据和上传文件

    为了具有通用性,将文件的内容读到了fc变量中,fclen是fc的长度.fc也可以是任何其它内容.curl 是 libcurl句柄.演示省略了很多显而易见的步骤.   1. 普通的post请求,这里用c ...

  9. JAVA GUI学习 - 窗口【x】按钮关闭事件触发器:重写processWindowEvent(WindowEvent e)方法

    public class WindowListenerKnow extends JFrame { public WindowListenerKnow() { this.setBounds(300, 1 ...

  10. codeforces#FF DIV2C题DZY Loves Sequences(DP)

    题目地址:http://codeforces.com/contest/447/problem/C C. DZY Loves Sequences time limit per test 1 second ...