[一天至少一题直到 ICPC 开赛 #016] 解题:Short Sort(12/24)

Short Sort

题目连结点此
抱歉,今天在写 12/25 的文章时才发现我昨天根本没有写XD

今天来补一下

题目意思

a b c三张牌

只能用以下方法交换牌:

选两张牌,交换位置
问:输入abc (三个数随机排列)
能否只用一次就把牌换成abc

Ex:
cba ==>yes

解题

因为只有三种(a、b、c) 在排列

能得知总共只有3!种排法

分别为:

abc acb bac bcacab cba

所以将所有的样本进行分析,得:

abc acb bac cba 能符合

bac cab 不行

故直接用字串分析是否符合
EX:
if (string) a== "acb" ==>print:Yes
else (string) a=="cab" ==>print:No
#include<iostream>#include<stdio.h>// 没什么路用// 2023 10  5  11:00using namespace std ;int main (){int n;// author : dasabi    cin>> n; string a;while (n--)// while这里不会真的要去打屁股{            cin>> a;// 3种字母排列 ,共3!种排法(总计6种排法)  整理如下( /oAo / )/*abc   ==> yes acb   ==> yesbac   ==> yesbca   ==> nocab   ==> nocba   ==> yes*/ // 当然 你有本事能和在一个if 也行 ,这样主要是方便阅读if(a=="abc"){// abc cout << "yes"<<endl;}else if(a=="acb"){//acbcout<<"yes"<<endl;}else if(a=="bac"){//bac    cout<<"yes"<<endl;}else if(a=="cba"){//cba    cout<<"yes"<<endl;}

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章