题解:CF1971B Different String

题意

给予你一个字符串 \(s\),保证 \(s\) 的长度小于等于 \(10\)。

任意排列 \(s\),使其与原 \(s\) 不同。

判断是否可以完成。

思路

由于字符串的长度最多为 \(10\),我们可以尝试字符串的两个字符的所有交换。复杂度 \(O(|s|^{2})\),这足够快了。如果它们都没有创建不同的字符串,那么原始字符串中的所有字符都是相同的,所以答案是否定的。

代码

#include<bits/stdc++.h>
using namespace std;
string s;
int t,k=0;
int main() {
cin>>t;
while(t--) {
k=0;
cin>>s;
for(int i=1;i<s.size();i++){
if(s[i]!=s[0]){
swap(s[i],s[0]);
k=1;
break;
}
}
if(!k){
cout<<"NO\n";
}else{
cout<<"YES"<<"\n";
cout<<s<<"\n";
}
}
return 0;
}

题解:CF1971B Different String的更多相关文章

  1. 【题解】Rusty String [CF827E]

    [题解]Rusty String [CF827E] 传送门:\(\text{Rusty String}\) \(\text{[CF827E]}\) [题目描述] 多组数据,每组数据给出一个由 \(V, ...

  2. LeetCode题解之Rotate String

    1.题目描述 2.问题分析 直接旋转字符串A,然后做比较即可. 3.代码 bool rotateString(string A, string B) { if( A.size() != B.size( ...

  3. leetCode题解之寻找string中最后一个word的长度

    1.题目描述 返回一个 string中最后一个单词的长度.单词定义为没有空格的连续的字符,比如 ‘a’,'akkk'. 2.问题分析 从后向前扫描,如果string是以空格‘  ’结尾的,就不用计数, ...

  4. 【题解】[ARC113C] String Invasion

    题面传送门 解决思路 题目大意是给你一个字符串 \(s\) ,定义一次操作为对于长度为 \(3\) 的一个子段,满足 \(s_i=s_{i+1}\ne s_{i+2}\),则可以将 \(s_{i+2} ...

  5. LeetCode Reverse String

    原题链接在这里:https://leetcode.com/problems/reverse-string/ 题目: Write a function that takes a string as in ...

  6. PAT 甲级 1047 Student List for Course (25 分)(cout超时,string scanf printf注意点,字符串哈希反哈希)

    1047 Student List for Course (25 分)   Zhejiang University has 40,000 students and provides 2,500 cou ...

  7. 题解合集 (update on 11.5)

    收录已发布的题解 按发布时间排序. 部分可能与我的其他文章有重复捏 qwq . AtCoder for Chinese: Link ZHOJ: Link 洛谷 \(1\sim 5\) : [题解]CF ...

  8. LeetCode Compare Version Numbers

    原题链接在这里:https://leetcode.com/problems/compare-version-numbers/ 用string.split()方法把原有string 从小数点拆成 str ...

  9. 306. Additive Number

    题目: Additive number is a string whose digits can form additive sequence. A valid additive sequence s ...

  10. 301. Remove Invalid Parentheses

    题目: Remove the minimum number of invalid parentheses in order to make the input string valid. Return ...

随机推荐

  1. go goroutine pool设计

    推荐一遍由浅入深简绍goroutine pool设计的方案.https://strikefreedom.top/high-performance-implementation-of-goroutine ...

  2. c#动态执行脚本的3种方式详解

    1.使用Roslyn编译器 2.使用IronPython或IronRuby 3.使用JavaScript引擎 在C#中,可以使用一些第三方库或内置类库实现动态执行脚本的功能.以下是几个常用的方案: 1 ...

  3. .NET桌面程序混合开发之三:WebView2与JS的深度应用

    在 WebView2 控件中使用 JavaScript 根据需求自由扩展原生应用的能力.本文探讨如何在 WebView2 中使用 JavaScript,并列举如何使用高级 WebView2 特性和功能 ...

  4. RHEL7.9安装Podman4.1.1并部署Redis集群

    原文链接:RHEL7.9安装Podman4.1.1并部署Redis集群-语雀 环境 操作系统 cat /etc/redhat-release Red Hat Enterprise Linux Serv ...

  5. 一文搞懂C++继承、多继承、菱形继承、虚继承

    继承 目录 继承 继承 继承的访问权限 子类赋值给父类 赋值兼容规则 "天然"的行为 验证: 1. 其他权限继承能否支持赋值兼容规则 2.是否"天然",有没有产 ...

  6. 《最新出炉》系列入门篇-Python+Playwright自动化测试-50-滚动条操作

    1.简介 有些页面的内容不是打开页面时直接加载的,需要我们滚动页面,直到页面的位置显示在屏幕上时,才会去请求服务器,加载相关的内容,这就是我们常说的懒加载.还有就是在日常工作和学习中,经常会遇到我们的 ...

  7. itest(爱测试) 开源接口测试,敏捷测试管理平台10.1.4发布

    一:itest work 简介 itest work 开源敏捷测试管理,包含极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试,接口Mock,还有压测 ,又有丰富的统计分析,8合1工作站.可按 ...

  8. itest(爱测试)开源接口测试&敏捷测试&极简项目管理 7.7.7 发布,接口测试重大升级

    (一)itest 简介及更新说明 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试,接口Mock 6合1,又有丰富的统计分析.可按测试包 ...

  9. uniapp SyntaxError: Unexpected token u in JSON at position 0 解决方案

    今天在做页面跳转传值的时候,一直出现下面的报错: 后来查看了下文档,说如果你的JSON数据是在上一个页面传值过来的话, 这时候在接收数据页解析JSON也会报该错误,因为此时并没有相关的JSON数据从上 ...

  10. taro 使用taro中的vue来完成小程序的开发

    网址:https://taro-docs.jd.com/taro/docs/README 2.1.简介 Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发 ...