题解 CF1144A 【Diverse Strings】
推广博客:https://www.luogu.com.cn/blog/332914/
本题很容易想到排序,将该字符串排序后每两个相减,不为 1 就是 No
,否则就是 Yes
。
那么如何判重?根本不用判!如果有重复的排序后肯定是相邻,相减不为1,所以得到 No
。
代码:
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
int n;
cin >> n;
while(n--)
{
string s;
cin >> s;
sort(s.begin(), s.end());
for(register string::iterator it = s.begin(); it != s.end() - 1; ++it)
{
if(*(it + 1) - *it != 1)
{
cout << "No\n";
goto Flag;
}
}
cout << "Yes\n";
Flag:{}
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)