喜羊羊最近对序列有了浓厚的兴趣,他喜欢用“小”的大写字母表示“小”的数。所谓“小”的大写字母就是大写字母越在前就越小,即:A<B<C<D<E……<Y<Z。喜羊羊喜欢改变原来序列的顺序,然后重新排序后,再写出字母的一个排列,自己再写出这个大写字母所代表的序列。现在,喜羊羊让你编一个程序,模拟喜羊羊干的事,为了方便,这里只有三个数,从小到大排序后分别代表A、B、C。
输入格式:
第一行三个整数,不一定按顺序。三个数均小于等于 100。 第二行包含三个大写字母“A”,“B”和“C”(没有空格),代表所需要的顺序。
输出格式:
输出一行,按照所需顺序输出三个整数,相邻两数之间用一个空格隔开。
输入样例1:
1 5 3
ABC
输出样例1:
1 3 5
输入样例2:
6 4 2
CAB
输出样例2:
6 2 4
知识点
1.墨墨墨小白的博客_I 枚举
2.sort(a,a+len) 由小到大
sort(a,a+len,greater< int>());//内置类型的由大到小排序
3.greater()的用法:
#include<iostream>
#include<algorithm>//因为用了sort()函数
#include<functional>//因为用了greater<int>()
using namespace std;
void main()
{
int a[]={3,1,4,2,5};
int len=sizeof(a)/sizeof(int);//这里切记要除以sizeof(int)!
sort(a,a+len,greater<int>());//内置类型的由大到小排序
for(int i=0;i<len;i++)
cout<<a[i]<<" ";
}
代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[3];
for(int i=0;i<3;i++){
cin>>a[i];
}
string d; cin>>d;
if(d=="ABC"){
sort(a,a+3); //默认从小到大
cout<<a[0]<<' '<<a[1]<<' '<<a[2];
return 0;
}
if(d=="ACB"){
sort(a,a+3); //默认从小到大
cout<<a[0]<<' '<<a[2]<<' '<<a[1];
return 0;
}
if(d=="BAC"){
sort(a,a+3); //默认从小到大
cout<<a[1]<<' '<<a[0]<<' '<<a[2];
return 0;
}
if(d=="BCA"){
sort(a,a+3); //默认从小到大
cout<<a[1]<<' '<<a[2]<<' '<<a[0];
return 0;
}
if(d=="CAB"){
sort(a,a+3); //默认从小到大
cout<<a[2]<<' '<<a[0]<<' '<<a[1];
return 0;
}
if(d=="CBA"){
sort(a,a+3,greater<int>()); //默认从小到大
cout<<a[0]<<' '<<a[1]<<' '<<a[2];
return 0;
}
}