XCOJ1250: 语言战争
1250: 语言战争
时间限制: 1 Sec 内存限制: 64 MB
提交: 203 解决: 46
题目描述
llc和yrc语言的优劣一直都是大家所争论的焦点,但它们之间最大的区别无非是在标识符(变量)命名上。由多个单词组成的llc标识符命名规则如下:
第一个单词的首字符小写,接下来其他单词都是大写字母开头,单词之间没有其他分隔符。例如:longAndMemonicIdentifier,name,nEERc,xiXiHaHa都是合法的llc标识符。
而yrc语言的标识符只用小写字母,单词之间用下划线_隔开。例如:long_and_memonic_identifier,name,n_e_e_rc,xi_xi_ha_ha都是符合规则的yrc标识符。
输入
输入一行,只可能含有英文字母和下划线的一个标识符。
输出
如果输入的标识符是llc标识符,输出对应的yrc标识符。如果输入的是yrc标识符,输出对应的llc标识符。如果都不是,输出DouWo
样例输入
样例输出
erase函数的原型如下:
(1)string& erase ( size_t pos = 0, size_t n = npos );
(2)iterator erase ( iterator position );
(3)iterator erase ( iterator first, iterator last );
也就是说有三种用法:
(1)erase(pos,n); 删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符
(2)erase(position);删除position处的一个字符(position是个string类型的迭代器)
(3)erase(first,last);删除从first到last之间的字符(first和last都是迭代器)
// 在 string 字符前(位置可以指定) 插入 char 类型字符串
basic_string <char> str1a ( "way" );
const char *cstr1a = "a";
str1a.insert ( 0, cstr1a ); // 0 可调整位置
cout << "The string with a C-string inserted at position 0 is: "
<< str1a << "." << endl;
// 结果 str1a = away.
一个插入一个删除,两种方法在《c++ primer plus》 P875中有提到
不方便的话参考博文:http://blog.csdn.net/zhanglu5227/article/details/8604824和http://www.cnblogs.com/ylwn817/articles/1967689.html
这题在当时比赛的时候都来不及看,事实证明有些东西还是要练习的。
最后附上代码:
#include <iostream>
#include<math.h>
#include <iomanip>
#include<cstdio>
#include<string>
#include<map>
#include<vector>
#include<list>
#include<algorithm>
#include<stdlib.h>
#include<iterator>
#include<sstream>
#include<string.h>
#include<stdio.h>
using namespace std;
//
int main()
{
string a;
int i,j,k;
int flag;
while(cin>>a)
{
flag=;
int len=a.length();
for(i=;i<len;i++)//就是出现又是大写又有下划线的情况
{
if(a[i]=='_')
{
for(i=;i<len;i++)
{
if(a[i]>='A'&&a[i]<='Z')
{
flag=;
}
}
}
} //开始处理正常情况
for(i=;i<a.length();i++)
{
if(a[i]>='A'&&a[i]<='Z')//就是有大写的情况llc
{
a[i]=a[i]+;
a.insert(i,"_");
//i++; }
else if(a[i]=='_')
{
a[i+]=a[i+]-;
string::iterator it;
it=a.begin()+i;
a.erase(it);
//i++;
}
} if(flag==)
{
cout<<"DouWo"<<endl;
}
else{
cout<<a<<endl;
} }
return ;
}
XCOJ1250: 语言战争的更多相关文章
- 【GoLang】转载:我为什么放弃Go语言,哈哈
我为什么放弃Go语言 作者:庄晓立(Liigo) 日期:2014年3月 原创链接:http://blog.csdn.NET/liigo/article/details/23699459 转载请注明出处 ...
- 我为什么放弃Go语言
有好几次,当我想起来的时候,总是会问自己:我为什么要放弃Go语言?这个决定是正确的吗?是明智和理性的吗?事实上我一直在认真思考这个问题. 开门见山地说,我当初放弃Go语言(golang),就是由于两个 ...
- 驳2B文 "我为什么放弃Go语言"
此篇文章流传甚广, 其实里面没啥干货, 而且里面很多观点是有问题的. 这个文章在 golang-china 很早就讨论过了. 最近因为 Rust 1.0 和 1.1 的发布, 导致这个文章又出来毒 ...
- Go语言的9大优势和3大缺点, GO语言最初的定位就是互联网时代的C语言, 我为什么放弃Go语言
Go语言的9大优势和3大缺点 转用一门新语言通常是一项大决策,尤其是当你的团队成员中只有一个使用过它时.今年 Stream 团队的主要编程语言从 Python 转向了 Go.本文解释了其背后的九大原因 ...
- Go语言缺陷
我为什么放弃Go语言 目录(?)[+] 我为什么放弃Go语言 有好几次,当我想起来的时候,总是会问自己:我为什么要放弃Go语言?这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题. 开 ...
- 当C++学到第20天的时候我崩溃了(找回刚开始的激情)
首先声明,我是个使用多语言(ASM/C/C++/Java/Perl)的人,主要使用C++和Java所以我认为我的意见还算中肯.那些否定C++的人,你们是否了解————Borland鼓吹Delphi如何 ...
- Golang哲学思想
Golang是一门新语言,经过几年发展,慢慢地也已经被许多大公司认可.最大的特点是速度快,并发性好,与网络的功能结合好,是一门服务端语言,号称“网络时代的新语言”:另外还是一个编译型的Python.不 ...
- 【转】从框架看PHP的五种境界及各自的薪资待遇
无意中看到这篇文章,有些触动,作为博客开篇,用来激励自己. 原文地址:点击打开 在撰写此文前首先必须申明的是本人不鄙视任何一种框架,也无意于挑起PHP框架间的战争,更没有贬低某个框架使用者的用意,本文 ...
- [翻译] 比较 Node.js,Python,Java,C# 和 Go 的 AWS Lambda 性能
[翻译] 比较 Node.js,Python,Java,C# 和 Go 的 AWS Lambda 性能 原文: Comparing AWS Lambda performance of Node.js, ...
随机推荐
- webpack4.41.0配置四(热替换)
每次修改都要去编译,这个操作比较繁琐.所以我们希望编译过程是自动化的,而且页面的更新也是自动化的.所以需要使用这个热替换 1.首先安装webpack-dev-server:npm install w ...
- E. Pavel and Triangles dp+问题转化
E. Pavel and Triangles dp+问题转化 题意 给出n种线段,每种线段给出一定数量,其中每个线段都是 \(2^k\) 问最多能组成多少个三角形 思路 因为每个是\(2^k\)所以能 ...
- Matlab filter常用函数
Filtering and Analysis Functions Filtering Function Description fftfilt Filters a signal with a digi ...
- AJAX--XMLHttpRequest对象
创建XMLHttpRequest对象 XMLHttpRequest是AJAX的基础. 所有现代浏览器(IE7+.Firefox.Chrome.Safari以及Opera)均内建XMLHttpReque ...
- winform学习(3)窗体事件
窗体的常用事件 事件可以理解为用户的操作,如点击鼠标键盘 应用程序需要在事件发生时进行响应,因此事件分为: 注册事件:必须为对象注册事件才会被执行(如为某控件添加一个单击的事件) 触发事件:注册后的事 ...
- html滑动
$('html, body').animate({scrollTop: 1500}, 'fast');
- 利用Ajax实现数据的同步传输,从mysql中提取数据,通过echarts可视化
如何将mysql数据库中的方式通过echarts可视化呢,以下面这个简单的例子向大家进行演示: 步骤一:mysql的创表和插入数据,当然这些数据也可以是你通过爬虫抓取的. 步骤二: 创 ...
- 2019 ICPC徐州网络赛 E. XKC's basketball team(二分)
计蒜客题目链接:https://nanti.jisuanke.com/t/41387 题目大意:给定一组无序序列,从第一个数开始,求最远比这个数大m的数,与这个数之间相隔多少数字?如果没有输出-1,否 ...
- docker-api的使用(java)
通过docker-api来执行docker相关的操作. 配置 可以在docker启动文件docker.service中加入如下 vi /lib/systemd/system/docker.serv ...
- python开发基础01-字符串操作方法汇总
字符串 Python对字符串的处理内置了很多高效的函数,非常方便功能很强大. "hello world" 字符串七种常用功能: 连接和合并 + join 移除空白 strip 分 ...