Pagini recente » Cod sursa (job #2323098) | Cod sursa (job #2677252) | Cod sursa (job #2091415) | Cod sursa (job #1393689) | Cod sursa (job #1203799)
#include <fstream>
#include <vector>
#define NMax 500005
using namespace std;
ifstream fin("semne3.in");
ofstream fout("semne3.out");
vector<int> G[NMax];
int O[NMax],N,Use[NMax],k;
void Read()
{
fin>>N;
for(int i=1;i<N;i++)
{
char c;
fin>>c;
if(c=='>')
G[i+1].push_back(i);
else
G[i].push_back(i+1);
}
}
void DFS(int Nod)
{
Use[Nod]=1;
for(unsigned int i=0;i<G[Nod].size();i++)
{
int Vecin=G[Nod][i];
if(!Use[Vecin])
DFS(Vecin);
}
O[++k]=Nod;
}
void Solve()
{
for(int i=N;i>0;i--)
{
if(!Use[i])
DFS(i);
}
}
void Print()
{
for(int i=k;i>=1;i--)
fout<<O[i]<<" ";
fout<<"\n";
}
int main()
{
Read();
Solve();
Print();
return 0;
}