给出一组字符串D,要找一个字符串S使得D中一半小于等于S,另外一半大于S。输入保证一定有解。长度要尽量短,在此基础上字典序尽量小。

分类谈论,细节挺多的,比如'Z'。

其实直接暴就过了,没分类辣么麻烦。

#include<bits/stdc++.h>
using namespace std; vector<string> vec; int main()
{
// freopen("in.txt","r",stdin);
int n;
char s[];
while(scanf("%d",&n),n){
vec.resize(n);
for(int i = ; i < n; i++){
scanf("%s",s);
vec[i] = s;
}
sort(vec.begin(),vec.end());
int mid = n>>;
string &a = vec[mid-] ,&b = vec[mid];
int i;
int len1 = a.size()-, len2 = b.size()-;
if(len1 < len2){
for(i = ; i < len1; i++){
if(b[i] != a[i]) { s[i] = a[i]+; s[i+] = '\0'; break; }
s[i] = a[i];
}
if(i == len1) {
s[i] = a[i]; s[i+] = '\0';
}
}else if(len1>len2){
for(i = ; i < len2; i++){
if(b[i] != a[i]) { s[i] = a[i]+; s[i+] = '\0'; break; }
s[i] = a[i];
}
if(i == len2) {
if(b[i] != a[i]+) { s[i] = a[i]+; s[i+] = '\0'; }
else {
s[i] = a[i];
for(i++; i < len1; i++){
if(a[i] != 'Z'){
s[i] = a[i] + ; s[i+] = '\0'; break;
}
s[i] = a[i];
}
if(i == len1) { s[i] = a[i]; s[i+] = '\0'; }
}
}
}else {
for(i = ; i < len2; i++) {
if(b[i] != a[i]) { s[i] = a[i]+; s[i+] = '\0'; break; }
s[i] = a[i];
}
if(i == len2) { s[i] = a[i]; s[i+] = '\0'; }
}
printf("%s\n",s);
}
return ;
}

UVA1610 PartyGame 聚会游戏(细节题)的更多相关文章

  1. uva1610 聚会游戏(细节处理)

    uva1610 聚会游戏(细节处理) 输入一个n(n<=1000且为偶数)个字符串的集合D,找一个长度最短的字符串(不一定要在D中出现)S,使得D中恰好一半字符串小于等于S,另一半大于S.如果有 ...

  2. Codeforces Round #392 (Div. 2)-758D. Ability To Convert(贪心,细节题)

    D. Ability To Convert time limit per test 1 second Cmemory limit per test 256 megabytes input standa ...

  3. 【线段树 细节题】bzoj1067: [SCOI2007]降雨量

    主要还是细节分析:线段树作为工具 Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小 ...

  4. zoj 3745 Salary Increasing(坑爹的细节题!)

    题目 注意题目中的,引用绝望的乐园中的进一步解释如下: 这是一道浙大月赛的题,一如既往的坑爹,好好一道水题,被搞成一道坑题!!! //注意:r(i) < l(i+1) !细节啊细节! #incl ...

  5. 【交互 细节题 思维题】cf1064E. Dwarves, Hats and Extrasensory Abilities

    第一次做交互真有趣……:挺好的细节思维题 This is an interactive problem. In good old times dwarves tried to develop extr ...

  6. BestCoder Round #61 (div.2) B.Game 细节题

    Game   问题描述 XY在玩一个游戏:有N根柱子排成一排,编号为1到N,每个柱子上面有一块宝石,现在XY站在第S根柱子上,出口在第T跟柱子上,XY需要拿到所有宝石后从出口离开.每次XY可以走到相邻 ...

  7. bzoj1067——SCOI2007降雨量(线段树,细节题)

    题目描述 我们常常会说这样的话:"X年是自Y年以来降雨量最多的".它的含义是X年的降雨量不超过Y年,且对于任意\(Y<Z<X\),Z年的降雨量严格小于X年.例如2002 ...

  8. Codeforces 571E - Geometric Progressions(数论+阿巴细节题)

    Codeforces 题目传送门 & 洛谷题目传送门 u1s1 感觉此题思维难度不太大,不过大概是细节多得到了精神污染的地步所以才放到 D1E 的罢((( 首先我们对所有 \(a_i,b_i\ ...

  9. P2599 [ZJOI2009]取石子游戏 做题感想

    题目链接 前言 发现自己三岁时的题目都不会做. 我发现我真的是菜得真实. 正文 神仙构造,分讨题. 不敢说有构造,但是分讨我只服这道题. 看上去像是一个类似 \(Nim\) 游戏的变种,经过不断猜测结 ...

随机推荐

  1. John 尼姆博弈

    John Little John is playing very funny game with his younger brother. There is one big box filled wi ...

  2. 洛谷 - P1631 - 序列合并 - 堆

    https://www.luogu.org/problemnew/show/P1631 序列a中每个数首先都和序列b中的最小元素配对(虽然好像不是很必要这么早插进来?) 每次从堆顶取出最小的和输出答案 ...

  3. Unity手游引擎安全解析及实践

    近日,由Unity主办的"Unity技术开放日"在广州成功举办,网易移动安全技术专家卓辉作为特邀嘉宾同现场400名游戏开发者分享了网易在手游安全所积累的经验.当下,很多手游背后都存 ...

  4. ue4 打个log难如狗

    注意: 把log相关两个宏写到类中,并编译后,在输出日志的位置的Categories关键字过滤的位置看不到自己的标签是因为需要先运行一次,输出一些这个标签的log后,这个自定义的标签才会显示在这 原文 ...

  5. 洛谷P1556 幸福的路

    P1556 幸福的路 题目描述 每天,John都要为了农场里N(1≤N≤10)头牛的健康和幸福四处奔波. 每头牛的位置可以描述为一个二维坐标,John从坐标原点(0,0)出发.为了使路径更有趣,Joh ...

  6. 剑指Offer的学习笔记(C#篇)-- 包含min函数的栈

    题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)). 一 . 题目该怎么想 1 . 定义栈的数据结构:实现Push.Pop.Top.Min方 ...

  7. Linux上传下载工具 lrzsz

  8. MySQL数据库(3)

    外键的变种(三种关系),数据的增删改,单表查询,多表查询 一.外键的变种(三种关系) 本节重点: 如何找出两张表之间的关系 表的三种关系 一.介绍 因为有foreign key的约束,使得两张表形成了 ...

  9. python入门2(补发a)

    一.流程控制-while循环,结构如下: while 条件: 结果 如果条件是真,则直接执行结果,然后再次判断条件,直到条件是假,停止循环 那么我们如何终止循环呢? 1,改变循环条件 2,break ...

  10. Ocelot API

    Ocelot API网关的实现剖析   在微软Tech Summit 2017 大会上和大家分享了一门课程<.NET Core 在腾讯财付通的企业级应用开发实践>,其中重点是基于ASP.N ...