import java.util.ArrayList;
import java.util.Scanner; public class zifuchuandezhankai {
static ArrayList<Integer> list = new ArrayList<Integer>();
public static void main(String[] args) {
char a, b;
int p1, p2, p3,temp=1;
String s,str="",s1="",s2="";;
Scanner sc = new Scanner(System.in);
p1 = sc.nextInt();
p2 = sc.nextInt();
p3 = sc.nextInt();
s = sc.next();
for (int i = 1; i < s.length() - 1; i+=temp) {
temp=1;
if (s.charAt(i) == '-' ) {
a = s.charAt(i - 1);
b = s.charAt(i + 1);
//|| (Character.isDigit(a) && Character.isLetter(b) )
if((a>=65 && b<65 ) || (a<65 && b>=65) || a>=b){
s=s.replaceFirst("-", str);
list.add(i);
continue;
}
if(Character.isLetter(a) && a>=97){
a-=32;
}
if(Character.isLetter(b) && b>=97){
b-=32;
}
if(a==b){
s=s.replaceFirst("-", "");
list.add(i);
continue;
}
for (int j = a+1; j <b; j++) {
//char c = Character.forDigit(j,10);
char c = (char)j;
str=str+c;
}
if(p1==1){
str=str.toLowerCase();
}
else if(p1==2){
str=str.toUpperCase();
}
else{
for (int j = 0; j < str.length(); j++) {
s1=s1+"*";
}
str=s1;
}
for (int j = 0; j < str.length(); j++) {
for (int j2 = 0; j2 < p2; j2++) {
s2=s2+str.charAt(j);
}
}
str=s2;
if(p3==2){
StringBuffer ss = new StringBuffer(str);
ss=ss.reverse();
str =ss.toString();
}
temp=str.length();
s=s.replaceFirst("-", str);
// list.add(str);
// System.out.println(str);
// list.add(str);
//System.out.println(str);
str="";
s1="";
s2="";
}
} StringBuffer sss = new StringBuffer(s);
for (int j = list.size()-1; j >=0 ; j--) {
sss.insert(list.get(j), "-");
}
//
// sss=sss.substring(0, i)+sss.substring(i+1);
// sss.append(str, i, i);
System.out.println(sss);
} }

(Java实现) 洛谷 P1098 字符串的展开的更多相关文章

  1. 洛谷P1098 字符串的展开

    P1098 字符串的展开 题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输 ...

  2. 洛谷——P1098 字符串的展开

    P1098 字符串的展开 题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输 ...

  3. 洛谷P1098 字符串的展开【字符串】【模拟】

    题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母或数 ...

  4. 洛谷 P1098 字符串的展开

    题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母或数 ...

  5. 洛谷—— P1098 字符串的展开

    https://www.luogu.org/problem/show?pid=1098 题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类 ...

  6. [NOIP2007] 提高组 洛谷P1098 字符串的展开

    题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母获数 ...

  7. P1098 字符串的展开——细节决定成败

    P1098 字符串的展开 规则有点多吧: isdigit(char) 表示如果字符是数字返回一,否则返回0: 倒序做一个下标就行了: 巧用三目运算符避开分类讨论,避开开头和结尾,根据条件层层逼近: # ...

  8. P1098 字符串的展开

    P1098 字符串的展开 刷新三观的模拟题 题意描述 太长了自己去看吧. 算法分析 模拟题分析你*呀! 写这篇题解的唯一原因是:三目运算符用的好的话,可以让百行大模拟变成30行水题. 代码实现 #in ...

  9. Luogu P1098 字符串的展开

    这几天划了划水看了看初赛的试题,没写什么随笔. 今天刷刷洛谷试炼场.(不要问为什么我还在普及区) 题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串 ...

随机推荐

  1. 图形学_Bezier曲线

    Bezier曲线由n个控制点生成,举个例子:当n=2时,点$P_0$.$P_1$之间遵从计算: $P_0=(1-t)P_0+tP_1$ 而推广为n维时,有: $P^n_0=(1-t)P^{n-1}_0 ...

  2. 第一行Kotlin系列(一)kotlin按钮点击事件

    按钮findViewBuId <Button android:id="@+id/mButton4" android:layout_width="wrap_conte ...

  3. [hdu3068 最长回文]Manacher算法,O(N)求最长回文子串

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068 题意:求一个字符串的最长回文子串 思路: 枚举子串的两个端点,根据回文串的定义来判断其是否是回文 ...

  4. JSP+Servlet+JDBC+mysql实现的学生成绩管理系统

    项目简介 项目来源于:https://gitee.com/zzdoreen/SSMS 本系统基于JSP+Servlet+Mysql 一个基于JSP+Servlet+Jdbc的学生成绩管理系统.涉及技术 ...

  5. Wfuzz使用学习

    工具用了不总结,使用命令很容易生疏,今天就把笔记梳理总结一下. 0x01 简介 WFuzz是用于Python的Web应用程序安全性模糊工具和库.它基于一个简单的概念:它将给定有效负载的值替换对FUZZ ...

  6. 走向统一的 .NET 旅程

    这是微软第一次完全线上举办的Build大会,也是第一次完全属于开发者的大会.几乎所有的新产品都是属于开发者,开发者成为了唯一的主角. 现在的微软比以往任何时候都贴近开发者,重视开发者的作用,为他们打造 ...

  7. Python dict字典方法完全攻略(全)

    我们知道,Python 字典的数据类型为 dict,我们可使用 dir(dict) 来查看该类型包含哪些方法,例如: >>> dir(dict)['clear', 'copy', ' ...

  8. 201771010120 苏浪浪 《面向对象程序设计(java)》第二周学习总结

    理论知识总结 第三章Java基本程序设计结构 1.基本知识:(1)标识符:是由字母.下划线.美元符号和数字组成,且第一个符号不能为数字.(2)关键字:剧啊语言中被赋予特定意义的一些单词.(3)注释 2 ...

  9. 【Redis】Set常见应用场景

    微信抽奖小程序 >点击参与抽奖加入集合 SADD key {userID} >查看参与抽奖所有用户 SMEMBERS key >抽取count名中奖者 SRANGEMEMBER ke ...

  10. C# 使用RestClient 调用接口

    最近做项目使用RestClient 向第三方接口推送数据.不废话直接贴代码 /// <summary> /// 获取Token /// </summary> /// <r ...