题目描述
小蓝要处理非常多的数据,其中有一些数据是日期。
在小蓝处理的日期中有两种常用的形式:英文形式和数字形式。
英文形式:
每个月的英文的前三个字母作为月份标识,后面跟两位数字表示日期,
月份标识第一个字母大写,后两个字母小写,日期小于 10 时要补前导 0。
1 月到 12 月英文的前三个字母分别是 Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec。
数字形式:
直接用两个整数表达,中间用一个空格分隔,两个整数都不写前导 0。
其中月份用 1 至 12 分别表示 1 月到 12 月。
输入一个日期的英文形式,请输出它的数字形式。
输入格式
输入一个日期的英文形式。
输出格式
输出一行包含两个整数,分别表示日期的月和日。
输入样例1
Feb08
输出样例1
2 8
输入样例2
Oct18
输出样例2
10 18
实用函数:
stoi():将字符串转换成数字,比如说将 "123" 转换为 123;
substr(pos, len):从字符串第 pos 位开始,截取一段长度为 len 的子串;
#include <iostream>
using namespace std;
int get(string month)
if(month == "Jan") return 1;
if(month == "Feb") return 2;
if(month == "Mar") return 3;
if(month == "Apr") return 4;
if(month == "May") return 5;
if(month == "Jun") return 6;
if(month == "Jul") return 7;
if(month == "Aug") return 8;
if(month == "Sep") return 9;
if(month == "Oct") return 10;
if(month == "Nov") return 11;
if(month == "Dec") return 12;
int main()
string s;
cin >> s;
cout << get(s.substr(0, 3)) << ' ' << stoi(s.substr(3, 2)) << endl;
return 0;
————————————————
版权声明:本文为CSDN博主「业余算法学徒」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https:
问题描述
小明有一串很长的英文字母,可能包含大写和小写。
在这串字母中,有很多连续的是重复的。
小明想了一个办法将这串字母表达得更短:将连续的几个相同字母写成字母 + 出现次数的形式。
例如,连续的 5 个 a,即 aaaaa,小明可以简写成 a5(也可能简写成 a4a、aa3a 等)。
对于这个例子:HHHellllloo,小明可以简写成 H3el5o2。
为了方便表达,小明不会将连续的超过 9 个相同的字符写成简写的形式。
现在给出简写后的字符串,请帮助小明还原成原来的串。
输入格式
输入一行包含一个字符串。
输出格式
输出一个字符串,表示还原后的串。
样例输入
H3el5o2
样例输出
HHHellllloo
数据范围
对于所有评测用例,字符串由大小写英文字母和数字组成,长度不超过100。
请注意原来的串长度可能超过 100。
#include <iostream>
#include <cstring>
using namespace std;
int main()
string s;
cin >> s;
string ans;
for (int i = 0; i < s.size(); i ++)
if(s[i] >= '0' && s[i] <= '9')
for (int j = 0; j < (s[i] - '0') - 1; j ++) ans += s[i - 1];
else ans += s[i];
cout << ans << endl;
return 0;
————————————————
版权声明:本文为CSDN博主「业余算法学徒」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https:
小蓝有 30 个数,分别为:99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77。将 5 分解成三个正整数的和,有 6 种分解方法,它们是 1+1+3 = 1+2+2 = 1+3+1 = 2+1+2 = 2+2+1 = 3+1+1。本题的结果为一个由大写字母组成的字符串,在提交答案时只填写这个字符串,填写多余的内容将无法得分。
小蓝最近迷上了一款名为《像素放置》的游戏,游戏在一个 n × m 的网格棋盘上进行,棋盘含有 n 行,每行包含 m 个方格。
玩家的任务就是需要对这n × m 个方格进行像素填充,填充颜色只有黑色或白色两种。有些方格中会出现一个整数数字 x(0 ≤ x ≤ 9),这表示当前方格加上周围八个方向上相邻的方格(分别是上方、下方、左方、右方、左上方、右上方、左下方、右下方)共九个
方格内有且仅有 x