Problem A. Mocha
上小班啦
时间限制: 1 second
空间限制: 512 megabytes
旭丘幼儿园的小班开设了一门教授数论的课程。
Mocha
在研究数论的过程中,发现了一种奇妙的
数
——Mocha
数。
Mocha
数是一个由几个互不相同的数字构成且不含前导零的正整数。
为了方便研究,
Mocha
想知道是否存在一个包含
n
个数位的
Mocha
数,如果存在,其中最小的
Mocha
数是多少。
输入格式:
一个整数
n
(
1
≤
n
≤
20
),代表询问的位数。
输出格式:
如果存在包含
n
个数位的
Mocha
数,输出最小的
n
位
Mocha
数,否则输出
−
1
。
样例
输入:
1
输出:
1
提示:
1
到
9
都是只包含
1
个数位的
Mocha
数,其中
1
是最小的
Mocha
数。
#include<iostream>
using namespace std;
int main()
{
int n; cin >> n;
//输入
//输入最大的n的最小值1023456789
//1
//10
//102
//。。
//。。。。
//。。。。。。
if (n >= 1 && n <= 10)
cout << 1;
//大于1输出1
if (n >= 2 && n <= 10)
cout << 0;
//大于2输出0
if (n <= 10)
{
for (int a = 2; a < n; a++)
cout << a;
}
//将其余数字输出
else
cout << -1;
//输出-1结束
return 0;
}
Problem E. Serval 的俳句
时间限制: 1 second
空间限制: 512 megabytes
Serval
是加帕里幼儿园的新生。
Serval
在俳句赏析大会上发现了一本神秘书卷,他想从中找出一句俳句。
具体来说,神秘书卷是一个仅包含小写英文字母的字符串
S
,你需要找到满足下列条件的
S
子序列
S
′
作为一句俳句:
如果不存在满足条件的子序列,则输出
none
。
我们称
S
′
是
S
的子序列,当且仅当
S
′
可以从
S
中删去任意数量的字符得到。注意
S
′
的前
5
个字符、中间 7
个字符以及后
5
个字符可以为同一个字符,例如
aaaaaaaaaaaaaaaaa,
bbbbbcccccccbbbbb
,dddddeeeeeeeeeeee 都是满足条件的。
输入格式
第一行,一个正整数
|
S
|
(1 ≤ |
S
| ≤
10
6
),表示字符串
S
的长度。
第二行,一个长度为
|
S
|
的仅包含小写字母的字符串
S
。
输出格式
共一行,如果满足条件的子序列存在,则输出这个子序列,否则输出
none
。
样例1
输入:
11lifeispiano
输出:
none
样例2
输入:
22aaabaacccdccbcccaadaaa
输出:
aaaaacccccccaaaaa
代码献上:
#include <iostream>
using namespace std;
#define int long long
//不开ll见祖宗
int cnt[26];
//用于储存字符
signed main()
{
int n;
string s;
cin >> n >> s;
string res = "";
//初始化
int ok = 0;
for (int i = 0; i < n; i++)
//一遍直接最优解
{
cnt[s[i] - 'a']++;
//字符转化为整数进行次数储存
if (cnt[s[i] - 'a'] == 5 and ok == 0)
//判断当前字符是否达到5次
{
ok = 1;
//第一次标记
res += string(5, s[i]);
//将第一次到达5次的字符储存到res
for (int j = 0; j < 26; j++)
cnt[j] =0;
//将字符个数重置
}
else if (cnt[s[i] - 'a'] == 7 and ok == 1)
//判断当前字符是否达到7次
{
ok = 2;
//第2次标记
res += string(7, s[i]);
//将第2次到达5次的字符储存到res
for (int j = 0; j < 26; j++)
cnt[j] = 0;
//将字符个数重置
}
else if (cnt[s[i] - 'a'] == 5 and ok == 2)
{
ok = 3;
res += string(5, s[i]);
break;
}
//同理上两步
}
if (ok == 3)
cout << res << endl;
//判断输出
else
cout << "none" << endl;
//输出"none"
return 0;
}
文章包含两个编程问题,第一个问题是关于寻找特定位数的最小Mocha数,解决方案涉及数论和条件判断。第二个问题涉及从给定字符串中找出满足特定条件的俳句子序列,需要对字符串进行遍历和字符计数操作。这两个问题都属于算法和字符串处理的范畴。
1223

被折叠的 条评论
为什么被折叠?



