不充钱,你怎么AC?

  题目:http://codevs.cn/problem/1165/

  题目很简单,代码最好写朴实一点,不要想着哪些情况可以合并在一起啊等等

  老老实实一个个判断,不然很容易出错

  细节很多,幸好样例给的良心,可以检测出很多细节

  自己字符串模拟即可,一定要细心!

 #include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std; char s[];
int main()
{
int p1,p2,p3,i,j,k;
scanf("%d%d%d\n%s",&p1,&p2,&p3,s);
int len=strlen(s);
for (i=;i<len;i++)
{
if (s[i]=='-')
{
if (s[i-]>=s[i+]) putchar('-');
else
if (s[i-]>=''&&s[i-]<=''&&s[i+]>=''&&s[i+]<='')
{
if (p3==)
{
for (j=s[i-]+;j<s[i+];j++)
for (k=;k<=p2;k++) putchar(p1==?'*':j);
}
else
{
for (j=s[i+]-;j>s[i-];j--)
for (k=;k<=p2;k++) putchar(p1==?'*':j);
}
}
else if (s[i-]>='a'&&s[i+]<='z'&&s[i-]<='z'&&s[i+]>='a')
{
if (p1==)
{
if (p3==)
{
for (j=s[i-]+;j<s[i+];j++)
for (k=;k<=p2;k++) putchar(j);
}
else
{
for (j=s[i+]-;j>s[i-];j--)
for (k=;k<=p2;k++) putchar(j);
}
}
else if (p1==)
{
if (p3==)
{
for (j=s[i-]+;j<s[i+];j++)
for (k=;k<=p2;k++) putchar(j-);
}
else
{
for (j=s[i+]-;j>s[i-];j--)
for (k=;k<=p2;k++) putchar(j-);
}
}
else
{
if (p3==)
{
for (j=s[i-]+;j<s[i+];j++)
for (k=;k<=p2;k++) putchar('*');
}
else
{
for (j=s[i+]-;j>s[i-];j--)
for (k=;k<=p2;k++) putchar('*');
}
}
}
else putchar('-');
}
else putchar(s[i]);
}
return ;
}

[ CodeVS冲杯之路 ] P1165的更多相关文章

  1. [ CodeVS冲杯之路 ] P1368

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1368/ 嗯……泡泡堂,很劲啊,其实就是个盗版的田忌赛马 http://www.cnblogs.com/hyfer/p/ ...

  2. [ CodeVS冲杯之路 ] P1092

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1092/ 嗯,这道题有一定难度啊,需要先用扩展欧几里得算法求出逆元,然后按照大小构一颗带边权为小时数的树 树链剖分后在树 ...

  3. [ CodeVS冲杯之路 ] P3955

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/3955/ 最长上升子序列的加强版,n 有1000000,n 方的 DP 肯定会 TLE,那么用二分栈维护 二分栈我讲不好 ...

  4. [ CodeVS冲杯之路 ] P1053

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1053/ 直接扫一遍串,把字母对应的 ascii 码直接做数组下标,交给数组统计 最后查询一遍数组的 'a'-'z' , ...

  5. [ CodeVS冲杯之路 ] P1171

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1171/ 代码调了很久才调好啊,一开始题目都看错了(要是真的NOIP肯定没戏了QuQ) 后面发现CodeVS上的数据输入 ...

  6. [ CodeVS冲杯之路 ] P1197

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1197/ 密钥的字母可以全转换为小写字母,然后一一映射,a→0,b→1,c→2,依此类推 对于密文只需将每一位减去对应密 ...

  7. [ CodeVS冲杯之路 ] P2492

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/2492/ 在此先orz小胖子,教我怎么路径压缩链表,那么这样就可以在任意节点跳进链表啦(手动@LCF) 对于查询操作,直 ...

  8. [ CodeVS冲杯之路 ] P2456

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/2456/ 用贪心的思想,木材当然要尽量分成多的木板,而大的木材能够分成大木板,但是小的木材不一定能够分成大的木板,所以木 ...

  9. [ CodeVS冲杯之路 ] P2952

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/2952/ 题目讲一个细胞可分裂成 2 个,那么当前数目就是2a,a 为时间 然后 q 个细胞一起会死亡,也就是对 q 取 ...

随机推荐

  1. .NET(C#)生成条形码

    using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...

  2. [Hibernate] - Annotations

    Hibernate使用Annotations最简单例子: hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8 ...

  3. [Hibernate] - one to many

    事实上one to many 和 many to one是一样的,这是一个相互的过程. hibernate.cfg.xml <?xml version="1.0" encod ...

  4. line-height让文本在块级元素中居中显示总结

    一.总结: line-height不仅可以用在段落文本中控制行与行之间的间距,还可以用来控制文本在li这种块级元素中的位置. 文本行间距的大小由字体的大小决定,行间距的大小的设置方法有5种方式:

  5. OpenCV图像处理篇之边缘检测算子

    OpenCV图像处理篇之边缘检测算子 转载: http://xiahouzuoxin.github.io/notes/ 3种边缘检测算子 一阶导数的梯度算子 高斯拉普拉斯算子 Canny算子 Open ...

  6. Netdom query基本用法

    C:\Users\user1>netdom queryThe syntax of this command is: NETDOM QUERY [/Domain:domain] [/Server: ...

  7. ubuntu eclipse下配置C++ 环境

    首先你通过以下3个命令确定已安装好eclipse cdt sudo apt-get install eclipse sudo apt-get install eclipse-pde sudo apt- ...

  8. C# 理解lock

    本文为转载 .. 一. 为什么要lock,lock了什么? 当我们使用线程的时候,效率最高的方式当然是异步,即各个线程同时运行,其间不相互依赖和等待.但当不同的线程都需要访问某个资源的时候,就需要同步 ...

  9. 黄聪:如何使用WebKitBrowser调用元素点击事件(C#)

    string s = "var _elm = document.getElementById('loginBtn');var _evt = document.createEvent('Mou ...

  10. ubuntu 16.04 小键盘数字键盘开机自动启动

    ubuntu 16.04 小键盘数字键盘开机自动启动 最近安了ubuntu 16.04,用windows用久了,换一个也挺好玩的! 但ubuntu 16.04因为算是最新的吧,还是存在些令我们不适应的 ...