首页 > 编程知识 正文

C 中substr函数用法,c语音disp函数用法

时间:2023-05-03 14:18:09 阅读:198047 作者:2404

1. 形式:s.substr(pos, n)
2. 解释:返回一个string,包含s中从pos开始的n个字符的拷贝

例题:
题目描述
Rabbit得到了一个字符串,她的会撒娇的高跟鞋xxx可以给这个字符串施加一次魔法。
魔法可以选择字符串的任一位置,并将该位置后面的所有字符水平拼接到串首。
例如:对于字符串abcde,可以通过施加魔法得到cdeab。
如果xxx通过施加魔法将字符串的字典序变得严格比之前的小,那么他将拿走这一字符串。
Rabbit想知道自己的字符串会不会被xxx拿走。
输入描述:
第一行一个整数n,表示字符串的长度。

接下来一行一个长度为n的只由小写字母组成的字符串。
输出描述:
如果Rabbit的字符串会被xxx拿走,输出“YES”。
否则输出“NO”。
(不输出引号)
示例1

输入
5
cdeab

输出
YES

说明
xxx可以把e之后的部分“ab”放到串首,得到abcde,字典序比cdeab小,故将拿走字符串。
示例2

输入
5
abcde

输出
NO
备注:
1≤n≤100000

#include <bits/stdc++.h>using namespace std;int main(){ int n; while (cin >> n) { string s; cin >> s; int flag = 0; for (int i = 0; i < s.size() - 1; i++) { if (s[i] >= s[i + 1]) { if (s > (s.substr(i + 1, n - i) + s.substr(0, i + 1))) flag = 1; } } puts(flag ? "YES" : "NO"); } return 0;}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。