原题链接:P1953 易语言

(我最近怎么总在做大模拟大搜索题)

分别处理两种情况。

如果只有一个1或0

直接设一个cnt为这个值,每次输入一个新名字之后把数字替换成cnt,最后cnt++即可。

注意数字可能不止一位,输出一次cnt之后可以整一个bool变量阻止以后的输出。

如果是要改名

把名称和后缀分别存起来,扫一遍名称找出初始数字,赋给cnt。

同样,初始数字可能不止一位,要每次乘10加n。

然后不用管输入的是啥,每有一个输入输出一遍初始名称,数字部分替换成cnt即可。然后输出第二个名称时检测到小数点(误)直接输出后缀名之后break。每次循环后cnt++。

然后就WA掉20分

如果数字在后缀名末尾,这样会直接把第二个名称中的数字break掉。这时候之前整的那个bool变量就可以用了。如果数字输出没被阻止(即还没输出过数字),直接输出一次cnt就行。

源码:

//MiserWeyte is now "mzWyt"
#include <bits/stdc++.h>
using namespace std;
string opt1, opt2;
string name1, name2;
int main(){
cin >> opt1;
if(opt1[0] == '0' || opt1[0] == '1'){ // 只更换序号
int cnt = opt1[0] - '0';
while(cin >> name1 >> name2){
bool notend;
notend = true;
for(int i=0; i<name1.length(); i++){ // 输入文件文件名
if(name1[i]>='0' && name1[i] <= '9'){ // 把数字部分替换为cnt
if(notend){ // 防止数字部分有多位,只在第一位时输出一次
cout << cnt;
notend = false;
}
}
else cout << name1[i];
}
cout << ' ';
notend = true;
for(int i=0; i<name2.length(); i++){ //输出文件文件名同上
if(name2[i]>='0' && name2[i] <= '9'){
if(notend){
cout << cnt;
notend = false;
}
}
else cout << name2[i];
}
cout << '\n';
cnt ++;
}
}
else{ // 更换名称
cin >> opt2;
int cnt = 0;
for(int i=0; i<opt1.length(); i++){ // 防止初始数字有多位
if(opt1[i] >= '0' && opt1[i] <= '9'){
cnt *= 10;
cnt += opt1[i] - '0';
}
}
while(cin >> name1 >> name2){
bool notend;
notend = true;
for(int i=0; i<opt1.length(); i++){ // 同只改数字的代码,只不过每次以opt1为模板
if(opt1[i] >= '0' && opt1[i] <= '9'){
if(notend){
cout << cnt;
notend = false;
}
}
else cout << opt1[i];
}
cout << ' ';
notend = true;
for(int i=0; i<opt1.length(); i++){ //输出文件文件名
if(opt1[i] >= '0' && opt1[i] <= '9'){
if(notend){
cout << cnt;
notend = false;
}
}
else{
cout << opt1[i];
if(opt1[i] == '.'){ // 点后面的直接替换成指定后缀
cout << opt2;
break;
}
}
}
if(notend) cout << cnt; // 若还没输出过数字,则数字在后缀名后方,输出一次
cout << '\n';
cnt ++;
}
}
return 0;
}

(大模拟紫题) Luogu P1953 易语言的更多相关文章

  1. 易语言5.6 精简破解版[Ctoo]

    说明:本易语言5.6破解版 加入了[E剑终情]大神制作的完美通杀补丁,本人还修复了静态编译的问题. 关于静态编译失效的问题,大家解压之后会看到易语言根目录有一个"易言语静态编译配置工具&qu ...

  2. HDU 5920 Ugly Problem 高精度减法大模拟 ---2016CCPC长春区域现场赛

    题目链接 题意:给定一个很大的数,把他们分为数个回文数的和,分的个数不超过50个,输出个数并输出每个数,special judge. 题解:现场赛的时候很快想出来了思路,把这个数从中间分为两部分,当位 ...

  3. python3+django2 开发易语言网络验证(中)

    第四步:网络验证的逻辑开发 1.将model注册到adminx.py中 1.在apps/yanzheng目录下新建admin.py 文件,添加代码: import xadmin from xadmin ...

  4. 大整数加减运算的C语言实现

    目录 大整数加减运算的C语言实现 一. 问题提出 二. 代码实现 三. 效果验证 大整数加减运算的C语言实现 标签: 大整数加减 C 一. 问题提出 培训老师给出一个题目:用C语言实现一个大整数计算器 ...

  5. 执行效率做比较,Go、python、java、c#、delphi、易语言等

    比较环境,在win7   64位,比较各种语言的整数型运算,下面的比较只作为单项比较.具体方式,40000*40000遍历相加.为了防止编译器优化,生成一个随机数. 1:c#,在NET2.0框架下作为 ...

  6. Atitit. 真正的全中国文字attilax易语言的特点以及范例

    Atitit. 真正的全中国文字attilax易语言的特点以及范例 1. 前言 attilax易语言是什么??1 2. attilax易语言的特点2 2.1. 支持多语言文字,不只汉字,还有藏文,维文 ...

  7. Bzoj1972: [Sdoi2010]猪国杀 题解(大模拟+耐心+细心)

    猪国杀 - 可读版本 https://mubu.com/doc/2707815814591da4 题目可真长,读题都要一个小时. 这道题很多人都说不可做,耗时间,代码量大,于是,本着不做死就不会死的精 ...

  8. 易语言 史诗级Json处理 烁_Json模块!!!!

    大家好,我是键盘上的魔手 * “************************”* “** 欢迎使用烁Json模块 **”* “** 作者:键盘上的魔手 **”* “**  微信号:codervip ...

  9. X86逆向6:易语言程序的DIY

    易语言程序在中国的用户量还是很大的,广泛用于外挂的开发,和一些小工具的编写,今天我们就来看下如何给易语言程序DIY,这里是用的易语言演示,当然这门技术也是可以应用到任何一门编译型语言中的,只要掌握合适 ...

随机推荐

  1. Scala 多继承问题

    多继承问题: object LoadIssueDemo extends App { import java.io.PrintWriter trait Logger { def log(msg: Str ...

  2. IDEA 学习笔记之 多线程调试

    多线程调试: 在多线程调试的时候,发现一些断点会被跳过,让人很郁闷,然后上网查了下资料,发现是自己IDEA设置不对. 使用IDEA调试多线程的时候,IDEA的断点有不同的模式,只有当Thread模式下 ...

  3. Spring Security 自定义登录认证(二)

    一.前言 本篇文章将讲述Spring Security自定义登录认证校验用户名.密码,自定义密码加密方式,以及在前后端分离的情况下认证失败或成功处理返回json格式数据 温馨小提示:Spring Se ...

  4. 如何正确遍历删除List中的元素(普通for循环、增强for循环、迭代器iterator、removeIf+方法引用)

    遍历删除List中符合条件的元素主要有以下几种方法: 普通for循环 增强for循环 foreach 迭代器iterator removeIf 和 方法引用 其中使用普通for循环容易造成遗漏元素的问 ...

  5. mpvue 签字组件

    <template> <div > <canvas class='firstCanvas' canvas-id="firstCanvas" @touc ...

  6. 从键盘录入输入3 个数num1,num2,num3,按从大到小进行输出

    本题分别使用嵌套分支语句以及三目运算符来实现,两种方法,可以对比看看. import java.util.Scanner; /** * 从键盘录入输入3 个数a,b,c,按从大到小进行输出 * @au ...

  7. 尹吉峰:使用 OpenResty 搭建高性能 Web 应用

    2019 年 8 月 31 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·成都站,原贝壳找房基础架构部工程师尹吉峰在活动上做了<使用 O ...

  8. Oracle数据库实验一建立数据库

    实验日期:   2019 年  09 月  24  日 实验报告日期:   2019  年  09 月  28 日 一.      实验目的 熟悉oracle环境: 熟练掌握和使用PL-SQL建立数据 ...

  9. Java技能树-图片版

    最近在总结技能树,打算先拓宽下视野和技术的广度,后面会详细研究每个常用的技术点,补充技术的深度!下面是我在ProcessOn上总结的,里面有些有注释,点击这里注册ProcessOn,点击这里,可查看或 ...

  10. Hyper-V 下linux虚拟机静态IP上网配置的两种方式(2)

    工作需要,搭建linux环境,网上搜了两种Hyper-V配置linux静态IP及上网的方式,记录一下,方便查阅,如下设置网络共享方式: win10下使用hyper-v在本机安装linux虚拟机后,网络 ...