太暴力了!!!!!!! !
关于next_permutation 的用法:头文件#include
https://blog.csdn.net/sgsyacm/article/details/80139089
!!!
#include <bits/stdc++.h>
#include <algorithm>
using namespace std;
string q,w,e,r,t;
bool b1,b2,b3,b4,b5;
//string a;
char a[5] = {
'A','B','C','D','E'};
map<char,bool> mp;
int main()
{
cin>>q>>w>>e>>r>>t;while(next_permutation(a,a+5)){
for(int i =0;i<5;i++){
if(q[1]=='>'){
if(a[i]==q[0])mp[q[0]]=1;else if(a[i]==q[2])mp[q[2]]=1;if(mp[q[0]] && !mp[q[2]]) b1 = 1;else if(!mp[q[0]] && mp[q[2]])break;}else{
if(a[i]==q[0])mp[q[0]]=1;else if(a[i]==q[2])mp[q[2]]=1;if(!mp[q[0]] && mp[q[2]]) b1 = 1;else if(mp[q[0]] && !mp[q[2]])break;}}mp.clear();for(int i =0;i<5;i++){
if(w[1]=='>'){
if(a[i]==w[0])mp[w[0]]=1;else if(a[i]==w[2])mp[w[2]]=1;if(mp[w[0]] && !mp[w[2]]) b2 = 1;else if(!mp[w[0]] && mp[w[2]])break;}else{
if(a[i]==w[0])mp[w[0]]=1;else if(a[i]==w[2])mp[w[2]]=1;if(!mp[w[0]] && mp[w[2]]) b2 = 1;else if(mp[w[0]] && !mp[w[2]])break;}}mp.clear();for(int i =0;i<5;i++){
if(e[1]=='>'){
if(a[i]==e[0])mp[e[0]]=1;else if(a[i]==e[2])mp[e[2]]=1;if(mp[e[0]] && !mp[e[2]]) b3 = 1;else if(!mp[e[0]] && mp[e[2]])break;}else{
if(a[i]==e[0])mp[e[0]]=1;else if(a[i]==e[2])mp[e[2]]=1;if(!mp[e[0]] && mp[e[2]]) b3 = 1;else if(mp[e[0]] && !mp[e[2]])break;}}mp.clear();for(int i =0;i<5;i++){
if(r[1]=='>'){
if(a[i]==r[0])mp[r[0]]=1;else if(a[i]==r[2])mp[r[2]]=1;if(mp[r[0]] && !mp[r[2]]) b4 = 1;else if(!mp[r[0]] && mp[r[2]])break;}else{
if(a[i]==r[0])mp[r[0]]=1;else if(a[i]==r[2])mp[r[2]]=1;if(!mp[r[0]] && mp[r[2]]) b4 = 1;else if(mp[r[0]] && !mp[r[2]])break;}}mp.clear();for(int i =0;i<5;i++){
if(t[1]=='>'){
if(a[i]==t[0])mp[t[0]]=1;else if(a[i]==t[2])mp[t[2]]=1;if(mp[t[0]] && !mp[t[2]]) b5 = 1;else if(!mp[t[0]] && mp[t[2]])break;}else{
if(a[i]==t[0])mp[t[0]]=1;else if(a[i]==t[2])mp[t[2]]=1;if(!mp[t[0]] && mp[t[2]]) b5 = 1;else if(mp[t[0]] && !mp[t[2]])break;}}mp.clear();if(b1 && b2 && b3 && b4 && b5){
for(int i =4;i>=0;i--){
cout<<a[i];}cout<<endl;return 0;}else{
b1 = b2 = b3= b4 = b5 =0;}}cout<<"impossible"<<endl;return 0;
}