【日常训练】Hockey(CodeForces-96C)
题意与分析
对于这题题意的理解比较重要,因为这是一条傻逼题:
- 大小写保持不变
- 原串中出现的非法字符串里的每一个字符都要替换
- Lucky Letter越多越好
这样一种情况下,算法其实特别简单。我傻逼在一个地方:暴力的时候一定要考虑所有的非法串,不能看到一个匹配了就走了(举例: Ijksdf 和Ij)。
代码
/*
* Code name => training-190315-c.cc
* Written by Sam X
* Date: 三月, 15, 2019
* Time: 16:33
*/
#include <bits/stdc++.h>
#define fi first
#define se second
#define MP make_pair
#define MS(x,y) memset(x, y, sizeof(x))
#define ZERO(x) memset(x, 0, sizeof(x))
#define rep(i,a,b) for(repType i=static_cast<repType>(a); \
i<=static_cast<repType>(b);++i)
#define per(i,a,b) for(repType i=static_cast<repType>(a); \
i>=static_cast<repType>(b);--i)
#define ALL(x) x.begin(), x.end() using namespace std;
using repType=signed;
using ll=long long;
using ld=long double;
using pi=pair<int,int>;
string w,w_s; void chg(int i, char chr)
{
if(isupper(w[i]))
{
w[i]=toupper(chr);
}
else w[i]=tolower(chr);
} signed main()
{
#ifdef DEBUG
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif int n;
vector<string> vec;
vector<string> vec_s;
cin>>n;
rep(i,,n)
{
string tmp;
cin>>tmp;
vec.push_back(tmp);
transform(ALL(tmp), tmp.begin(), ::tolower);
vec_s.push_back(tmp);
}
char chr;
cin>>w>>chr;
w_s=w; transform(ALL(w_s), w_s.begin(), ::tolower);
int i=;
while(i<int(w.size()))
{
rep(j,,vec.size()-)
{
if(i+vec[j].size()<=w.size() && w_s.substr(i,vec[j].size())==vec_s[j])
{
//cout<<"find "<<vec[j]<<endl;
for(int k=i; k!=i+vec[j].size(); ++k)
{
if(w_s[k]==tolower(chr))
{
if(chr!='a')
chg(k, 'a');
else
chg(k, 'b');
}
else chg(k, chr);
}
// break; // nm$l 不应该break
}
}
i++;
}
cout<<w<<endl;
return ;
}
点我看高清美少女
【日常训练】Hockey(CodeForces-96C)的更多相关文章
- 「日常训练」ZgukistringZ(Codeforces Round #307 Div. 2 B)
题意与分析(CodeForces 551B) 这他妈哪里是日常训练,这是日常弟中弟. 题意是这样的,给出一个字符串A,再给出两个字符串B,C,求A中任意量字符交换后(不限制次数)能够得到的使B,C作为 ...
- Codeforces 96C - Hockey
96C - Hockey 字符串处理 代码: #include<bits/stdc++.h> using namespace std; #define ll long long ; con ...
- 「日常训练」Watering Flowers(Codeforces Round #340 Div.2 C)
题意与分析 (CodeForces 617C) 题意是这样的:一个花圃中有若干花和两个喷泉,你可以调节水的压力使得两个喷泉各自分别以\(r_1\)和\(r_2\)为最远距离向外喷水.你需要调整\(r_ ...
- 「日常训练」Alternative Thinking(Codeforces Round #334 Div.2 C)
题意与分析 (CodeForces - 603A) 这题真的做的我头疼的不得了,各种构造样例去分析性质... 题意是这样的:给出01字符串.可以在这个字符串中选择一个起点和一个终点使得这个连续区间内所 ...
- 「日常训练」More Cowbell(Codeforces Round #334 Div.2 B)
题意与分析(CodeForces 604B) 题意是这样的:\(n\)个数字,\(k\)个盒子,把\(n\)个数放入\(k\)个盒子中,每个盒子最多只能放两个数字,问盒子容量的最小值是多少(水题) 不 ...
- 「日常训练」Duff in the Army (Codeforces Round #326 Div.2 E)
题意(CodeForces 588E) 给定一棵\(n\)个点的树,给定\(m\)个人(\(m\le n\))在哪个点上的信息,每个点可以有任意个人:然后给\(q\)个询问,每次问\(u\)到\(v\ ...
- 「日常训练」Kefa and Dishes(Codeforces Round #321 Div. 2 D)
题意与分析(CodeForces 580D) 一个人有\(n\)道菜,然后要点\(m\)道菜,每道菜有一个美味程度:然后给你了很多个关系,表示如果\(x\)刚好在\(y\)前面做的话,他的美味程度就会 ...
- 「日常训练」Kefa and Park(Codeforces Round #321 Div. 2 C)
题意与分析(CodeForces 580C) 给你一棵树,然后每个叶子节点会有一家餐馆:你讨厌猫(waht?怎么会有人讨厌猫),就不会走有连续超过m个节点有猫的路.然后问你最多去几家饭店. 这题我写的 ...
- 「日常训练」Kefa and Company(Codeforces Round #321 Div. 2 B)
题意与分析(CodeForces 580B) \(n\)个人,告诉你\(n\)个人的工资,每个人还有一个权值.现在从这n个人中选出m个人,使得他们的权值之和最大,但是对于选中的人而言,其他被选中的人的 ...
- 「日常训练」Case of Matryoshkas(Codeforces Round #310 Div. 2 C)
题意与分析(CodeForces 556C) 为了将所有\(n\)个娃娃编号递增地串在一起(原先是若干个串,每个串是递增的), 我们有两种操作: 拆出当前串中最大编号的娃娃(且一定是最右边的娃娃). ...
随机推荐
- 【php】页面加载优化的14条原则
1. 尽可能的减少 HTTP 的请求数 [content] 2. 使用 CDN(Content Delivery Network) [server] 3. 添加 Expires 头(或者 Cach ...
- 【C#】#103 动态修改App.config配置文件
对 C/S模式 下的 App.config 配置文件的AppSetting节点,支持配置信息现改现用,并可以持久保存. 一. 先了解一下如何获取 配置信息里面的内容[获取配置信息推荐使用这个] 1.1 ...
- 【hibernate学习杂记】维护关系的一方和不维护关系的一方的区别与联系
双向多对一/一对多例子 维护关系一方为User:多方 不维护关系的一方为Group:一方 以下是多方代码: package Hibernate_demo1.Demo8.Entity.OneToMany ...
- Spring各版本源码下载
spring framework 各版本源码下载地址 现在spring的源码下载地址真是不好找,这次终于找到了.记录一下,以帮助需要的朋友. https://github.com/spring-pro ...
- ECharts 定制 label 样式
起因 实现对 label 的样式定制,自定义字体颜色.大小等属性:效果如下图 实现 itemStyle: { normal: { color: '#f7ba0e', label: { ...
- SGU---101 无向图的欧拉回路
题目链接: https://cn.vjudge.net/problem/SGU-101 题目大意: 给定你n张骨牌,每张牌左右两端有一个数字,每张牌的左右两端数字可以颠倒,找出一种摆放骨牌的顺序,使得 ...
- css3动画效果小结
css3的动画功能有以下三种: 1.transition(过度属性) 2.animation(动画属性) 3.transform(2D/3D转换属性) 下面逐一进行介绍我的理解: 1.transiti ...
- 1088. [SCOI2005]扫雷Mine【网格DP】
Description 相信大家都玩过扫雷的游戏.那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来.万圣节到了 ,“余”人国流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子 ...
- Kubernetes 详解
Kubernetes主要由以下几个核心组件组成: etcd保存了整个集群的状态: apiserver提供了资源操作的唯一入口,并提供认证.授权.访问控制.API注册和发现等机制: controller ...
- --provider=docker时出现的问题
Vagrantfile类似: Vagrant.configure(") do |config| config.vm.box = "hashicorp/precise64" ...