Short Sort
题目连结点此
抱歉,今天在写 12/25 的文章时才发现我昨天根本没有写XD
今天来补一下
题目意思
有 a
b
c
三张牌
只能用以下方法交换牌:
选两张牌,交换位置
问:输入abc (三个数随机排列)
能否只用一次就把牌换成abc
Ex:
cba ==>yes
解题
因为只有三种(a、b、c) 在排列
能得知总共只有3!种排法
分别为:
abc
acb
bac
bca
cab
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;}