#include <stdio.h>
#include <iostream>
#include <string>
#include <math.h>
using namespace std;
 
int num[10];
int visited[10];
 
char sign[9];
int signNum;
 
string Max = "-1";
string Min = "9999999999";
 
int check(int idx)
{
    if(sign[idx] == '<')
    {
        if(num[idx] < num[idx+1])
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
    else if(sign[idx] == '>')
    {
        if(num[idx] > num[idx+1])
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
}
 
void permutation(int cnt)
{
    if(cnt == signNum+1)
    {
        for(int i = 0; i < cnt-1; i++)
        {
            if(check(i) == 0)
            {
                return;
            }
        }
        
        string val;
        
        for(int i = 0; i < cnt; i++)
        {
            val += to_string(num[i]);
        }
        
        if(val > Max)
        {
            Max = val;    
        }
        
        if(val < Min)
        {
            Min = val;
        }
        
        return;
    }
    
    for(int i = 0; i <= 9; i++)
    {
        if(visited[i] == 0)
        {
            num[cnt] = i;
            visited[i] = 1;
            permutation(cnt+1);
            visited[i] = 0;    
        }
    }
}
 
int main(void)
{
//    freopen("B2529_input.txt", "r", stdin);
    
    scanf("%d"&signNum);
    for(int i = 0; i < signNum; i++)
    {
        scanf(" %c"&sign[i]);
    }
    
    permutation(0);
 
    cout << Max << endl;
    cout << Min << endl;
    
    return 0;
}
cs

+ Recent posts