首页 > 试题广场 >

移动

[编程题]移动
  • 热度指数:179 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小红在一维度的世界中,她可以向左或者向右移动。她拿到一个长度为 n 的字符串 s,仅包含 '<' 和 '>' 两种字符,'<' 表示向左移动,'>' 表示向右移动。
小红想知道,如果从字符串 s 的第 i(0\leq i<n) 个字符开始,然后按照 s_{i},s_{i+1},s_{i+2},... 的顺序依次移动,那么小红有没有机会回到原地。
值得注意的是,你需要对于任意的 i(0\leq i<n) 都判断是否存在一种移动方式,使得小红可以回到原地且不一定需要执行到 s_{n-1},每个 i 的判断互不影响。

输入描述:
第一行一个整数 n(1\leq n\leq 2\times 10^5),表示字符串 s 的长度。
第二行一个字符串 s,仅包含 '<' 和 '>' 两种字符。


输出描述:
输出 n 个整数,第 i 个整数表示从第 i 个字符开始移动,小红有没有机会回到原地,若有机会输出1,否则输出0。
示例1

输入

4
><><

输出

1 1 1 0

这道题你会答吗?花几分钟告诉大家答案吧!