[ CodeVS冲杯之路 ] P1165
不充钱,你怎么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的更多相关文章
- [ CodeVS冲杯之路 ] P1368
不充钱,你怎么AC? 题目:http://codevs.cn/problem/1368/ 嗯……泡泡堂,很劲啊,其实就是个盗版的田忌赛马 http://www.cnblogs.com/hyfer/p/ ...
- [ CodeVS冲杯之路 ] P1092
不充钱,你怎么AC? 题目:http://codevs.cn/problem/1092/ 嗯,这道题有一定难度啊,需要先用扩展欧几里得算法求出逆元,然后按照大小构一颗带边权为小时数的树 树链剖分后在树 ...
- [ CodeVS冲杯之路 ] P3955
不充钱,你怎么AC? 题目:http://codevs.cn/problem/3955/ 最长上升子序列的加强版,n 有1000000,n 方的 DP 肯定会 TLE,那么用二分栈维护 二分栈我讲不好 ...
- [ CodeVS冲杯之路 ] P1053
不充钱,你怎么AC? 题目:http://codevs.cn/problem/1053/ 直接扫一遍串,把字母对应的 ascii 码直接做数组下标,交给数组统计 最后查询一遍数组的 'a'-'z' , ...
- [ CodeVS冲杯之路 ] P1171
不充钱,你怎么AC? 题目:http://codevs.cn/problem/1171/ 代码调了很久才调好啊,一开始题目都看错了(要是真的NOIP肯定没戏了QuQ) 后面发现CodeVS上的数据输入 ...
- [ CodeVS冲杯之路 ] P1197
不充钱,你怎么AC? 题目:http://codevs.cn/problem/1197/ 密钥的字母可以全转换为小写字母,然后一一映射,a→0,b→1,c→2,依此类推 对于密文只需将每一位减去对应密 ...
- [ CodeVS冲杯之路 ] P2492
不充钱,你怎么AC? 题目:http://codevs.cn/problem/2492/ 在此先orz小胖子,教我怎么路径压缩链表,那么这样就可以在任意节点跳进链表啦(手动@LCF) 对于查询操作,直 ...
- [ CodeVS冲杯之路 ] P2456
不充钱,你怎么AC? 题目:http://codevs.cn/problem/2456/ 用贪心的思想,木材当然要尽量分成多的木板,而大的木材能够分成大木板,但是小的木材不一定能够分成大的木板,所以木 ...
- [ CodeVS冲杯之路 ] P2952
不充钱,你怎么AC? 题目:http://codevs.cn/problem/2952/ 题目讲一个细胞可分裂成 2 个,那么当前数目就是2a,a 为时间 然后 q 个细胞一起会死亡,也就是对 q 取 ...
随机推荐
- android学习笔记46——File存储
File存储--IO操作文件 openFileOutput.openFileInput Context提供了如下两个方法来打开本应用程序的数据文件夹里面的文件IO流. 1.FileInputStrea ...
- 好的博客mark
1. http://blog.csdn.net/zqixiao_09/article/month/2016/03 涉及面光,包括上层/底层, uboot/kernel/rootfs/driver.
- 105. Construct Binary Tree from Preorder and Inorder Traversal
Given preorder and inorder traversal of a tree, construct the binary tree. ============== 基本功: 利用前序和 ...
- 单元测试(junit使用)
1.测试的对象是一个类中的方法. 2.导入jar包. 3.单元测试方法时候,测试方法命名规则为 public void 方法名(){},注意:测试类不能命名为public class Test{},T ...
- CE_现金模组基本概念(概念)
2014-07-12 Created By BaoXinjian
- HDU 2897 邂逅明下(巴什博奕)
题意: 每行有三个数字n,p,q,表示一堆硬币一共有n枚,从这个硬币堆里取硬币,一次最少取p枚,最多q枚,如果剩下少于p枚就要一次取完.两人轮流取,直到堆里的硬币取完,最后一次取硬币的算输.对于每一行 ...
- POJ 3254 Corn Fields(状态压缩DP)
题目大意:给出一个M*N的矩阵,元素为0表示这个地方不能种玉米,为1表示这个地方能种玉米,现在规定所种的玉米不能相邻,即每行或者没列不能有相邻的玉米,问一共有多少种种植方法. 举个例子: 2 3 1 ...
- ylbtech-dbs-m-QQ邮箱
ylbtech-dbs:ylbtech-dbs-m-QQ邮箱 -- =============================================-- DatabaseName:QQ-Em ...
- JAVA 处理程序异常,(try、catch、finally),(thorws)
一.try语句: try{//这里写可能出现异常的程序} catch(Exception e){//这里写如果出现异常怎么处理的程序} 二.throws语句 语法:函数方法() throws Exc ...
- 树莓派用USB蓝牙适配器连接蓝牙设备
下面分享如何配置蓝牙设备.1.连接蓝牙适配到Rpi板子usb上,安装相关蓝牙服务器和驱动 lsusb 查看设备是不是被发现 pi @RaspberryPi ~ $ lsusb Bus 001 Devi ...