【NOIP2007提高组】字符串展开
【题外话】这道题纯粹考验耐心,某些经常调程序调到摔键盘的人可以尝试
【题外话2】除了考耐心以外完全没有什么难点
【题外话3】也许会稍微恶心一点?
【题外话4】其实我是在别人军训的时候滚来更博客的简直233333
题目不贴了,NOIP2007原题什么的,然后就是关于某些小细节的处理,比如以‘-’开头啊,以‘-’结尾啊,还有‘--’啊,还有一种题目中提到的,‘-’两边分别是数字和字母,以及关于填充大写字母的时候数字不变什么的。
总体来说其实就是一道字符处理模拟题,稍微细心与耐心一点的都可以10minAC
我已经懒得吐槽自己的代码风格了。
#include <algorithm>
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstring>
#include <string>
using namespace std;
ifstream fin("expand.in");
ofstream fout("expand.out");
string old,nw;
int p1=,p2=,p3=;
void zx(int wi);
void fx(int wi);
int main(void)
{
fin>>p1>>p2>>p3;
fin>>old;
for(int i=;i<old.size();i++)
{
if(old[i]=='-'&&i>=&&i<old.size()-)
{
if(old[i-]=='-'||old[i+]=='-')
{
nw+=old[i];
continue;
}
if(old[i-]>=old[i+])
{
nw+=old[i];
continue;
}
if((old[i-]>='a'&&old[i-]<='z')&&(old[i+]<'a'||old[i+]>'z'))
{
nw+=old[i];
continue;
}
if((old[i+]>='a'&&old[i+]<='z')&&(old[i-]<'a'||old[i-]>'z'))
{
nw+=old[i];
continue;
}
if(p3==)zx(i);
else fx(i);
}
else nw+=old[i];
}
fout<<nw;
return ;
}
void zx(int wi)
{
char ja;
for(int i=;i<=(old[wi+]-old[wi-])-;i++)
{
for(int j=;j<=p2;j++)
{
if(p1==)
{
ja=old[wi-]+i;
nw+=ja;
}
if(p1==&&old[wi+]>='a'&&old[wi+]<='z')
{
ja=old[wi-]+i;
ja-='a';
ja+='A';
nw+=ja;
}
if(p1==&&(old[wi+]<'a'||old[wi+]>'z'))
{
ja=old[wi-]+i;
nw+=ja;
}
if(p1==)
{
nw+="*";
}
}
}
return;
}
void fx(int wi)
{
char ja;
for(int i=;i<=(old[wi+]-old[wi-])-;i++)
{
for(int j=;j<=p2;j++)
{
if(p1==)
{
ja=old[wi+]-i;
nw+=ja;
}
if(p1==&&old[wi+]>='a'&&old[wi+]<='z')
{
ja=old[wi+]-i;
ja-='a';
ja+='A';
nw+=ja;
}
if(p1==&&(old[wi+]<'a'||old[wi+]>'z'))
{
ja=old[wi+]-i;
nw+=ja;
}
if(p1==)
{
nw+="*";
}
}
}
return;
}
【NOIP2007提高组】字符串展开的更多相关文章
- 洛谷P1098 [NOIP2007 提高组] 字符串的展开
题目链接:https://www.luogu.com.cn/problem/P1098 这个题出的真的很有质量,这个是我见过算是复杂的模拟题了,对付这种题,一丝都不能马虎,要想实现快捷而又简便的代码设 ...
- [NOIP2007] 提高组 洛谷P1098 字符串的展开
题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母获数 ...
- Vigenère密码 2012年NOIP全国联赛提高组(字符串模拟)
P1079 Vigenère 密码 题目描述 16 世纪法国外交家 Blaise de Vigenère 设计了一种多表密码加密算法――Vigenère 密 码.Vigenère 密码的加密解密算法简 ...
- noip2007提高组题解
题外话:这一年的noip应该是最受大众关心的,以至于在百度上输入noip第三个关键字就是noip2007.主要是由于这篇文章:http://www.zhihu.com/question/2110727 ...
- Noip2007提高组总结
两道基础题,后两题比较麻烦,算法想出来后,还是一些细枝末节的问题,需要特别注意,感觉Noip的题目质量还是挺高的,每做一套,都感觉会有大大小小不同的收获,就要月考了,最后把07年的题目总结一下,算是这 ...
- luogu1097统计数字[noip2007提高组Day1T1]
题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出 ...
- 洛谷-统计数字-NOIP2007提高组复赛
题目描述 Description 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照 ...
- [NOIP2007] 提高组 洛谷P1097 统计数字
题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出 ...
- [NOIp2007提高组]矩阵取数游戏
OJ题号:洛谷1005 思路: 动态规划. 不难发现每行能够取得的最大值仅与当前行的数据有关,因此本题可以对每行的数据分别DP,最后求和. 设$f_{i,j}$表示左边取$i$个.右边取$j$个的最大 ...
随机推荐
- SHELL中,如何分割字符串
done.csv中,形如 amoy9812@163.com的数据 #!/bin/shwhile read linedo ar=(${line//@/ }) echo ${ar[0]} #说明:分解出账 ...
- ibatis->mybatis升级过程
最终目录结构 resources spring applicationContext.xml sqlmap mapper aaamapper.xml bbbmapper.xml mybatis-con ...
- Kafka集群搭建
1.zookeeper搭建 Kafka集群依赖zookeeper,需要提前搭建好zookeeper zookeeper快速搭建推荐地址:http://nileader.blog.51cto.com/1 ...
- MAC OS U 盘制作与安装方法
伴随着 iMac 5K Retina 和新的 Mac mini 等硬件的发布,苹果终于都推出了 OS X Yosemite 系统正式版了!相信很多人都已经用上.不过对于一些不想升级,而是打算「全新安装 ...
- 排序 之 快排、归并、插入 - <时间复杂度>----掌握思想和过程
俗话说:天下武功无坚不破,唯快不破.对于算法当然也是要使用时间最短.占用空间最小的算法来实现了. 注意:我代码里面打的备注仅供参考,建议不要背模板(因为没有固定的模板),可以写一个数列按着代码跑两圈或 ...
- 使用ab对站点进行压力测试
测试指令: window下: E:\wamp\bin\apache\Apache2.2.21\bin> .\ab -V //查看是否按照了ab:(V 大写) E:\wamp\bin\apach ...
- iBeacon在iPhone锁屏下有几率扫描不到蓝牙设备以及折中解决方案
前言: 这个问题的确困扰了很久,查了国内外各种论坛.社区,都没找到一个有效的解决办法. 所幸后来用一种折中的办法解决了,但也不是从技术根本上解决的,所以有解决的兄弟还望指导下. 正文如下: 一.需求描 ...
- openstack私有云布署实践【9.3 主从controller单向同步glance-image目录】
采用Rysnc单向同步,而不用双方实时同步,原因是在历史的运行过程中,我们发现,有些镜像包太大,当在主用的glance将镜像保存时,并不是一时半会就把镜像保存好,当主用在保存时,备用节点又在实时同步那 ...
- 《C++反汇编与逆向分析技术揭秘》——函数的工作原理
各种调用方式的考察 示例: cdecl方式是调用者清空堆栈: 如果执行的是fastcall: 借助两个寄存器传递参数: 参数1和2借助局部变量来存储: 返回值 如果返回值是结构体: 返回值存放在eax ...
- matlab里plot画多幅图像、设置总标题、legend无边框
%%绘图 suptitle('公路') %总标题subplot(2,2,1);plot(x,y11,'r-') hold onplot(x,y21,'b-')xlabel('方向')ylabel(' ...