Good Bye 2014
B
New Year Permutation
Codeforces
1600
原题
← AC →
翻译中…

User ainta has a permutation $*p*_{1}, *p*_{2}, ..., *p*_{*n*}$. As the New Year is coming, he wants to make his permutation as pretty as possible.

翻译中…

Permutation $*a*_{1}, *a*_{2}, ..., *a*_{*n*}$ is prettier than permutation $*b*_{1}, *b*_{2}, ..., *b*_{*n*}$, if and only if there exists an integer $*k*$ ($1 ≤ *k* ≤ *n*$) where $*a*_{1} = *b*_{1}, *a*_{2} = *b*_{2}, ..., *a*_{*k* - 1} = *b*_{*k* - 1}$ and $*a*_{*k*} < *b*_{*k*}$ all holds.

翻译中…

As known, permutation $*p*$ is so sensitive that it could be only modified by swapping two distinct elements. But swapping two elements is harder than you think. Given an $*n* × *n*$ binary matrix $*A*$, user ainta can swap the values of $*p*_{*i*}$ and $*p*_{*j*}$ ($1 ≤ *i*, *j* ≤ *n*$, $*i* ≠ *j*$) if and only if $*A*_{*i*, *j*} = 1$.

翻译中…

Given the permutation $*p*$ and the matrix $*A*$, user ainta wants to know the prettiest permutation that he can obtain.

翻译中…

Input

翻译中…

The first line contains an integer $*n*$ ($1 ≤ *n* ≤ 300$) — the size of the permutation $*p*$.

翻译中…

The second line contains $*n*$ space-separated integers $*p*_{1}, *p*_{2}, ..., *p*_{*n*}$ — the permutation $*p*$ that user ainta has. Each integer between $1$ and $*n*$ occurs exactly once in the given permutation.

翻译中…

Next $*n*$ lines describe the matrix $*A*$. The $*i*$-th line contains $*n*$ characters '0' or '1' and describes the $*i*$-th row of $*A*$. The $*j*$-th character of the $*i*$-th line $*A*_{*i*, *j*}$ is the element on the intersection of the $*i*$-th row and the $*j*$-th column of A. It is guaranteed that, for all integers $*i*, *j*$ where $1 ≤ *i* < *j* ≤ *n*$, $*A*_{*i*, *j*} = *A*_{*j*, *i*}$ holds. Also, for all integers $*i*$ where $1 ≤ *i* ≤ *n*$, $*A*_{*i*, *i*} = 0$ holds.

翻译中…

Output

翻译中…

In the first and only line, print $*n*$ space-separated integers, describing the prettiest permutation that can be obtained.

翻译中…

Note

翻译中…

In the first sample, the swap needed to obtain the prettiest permutation is: $(*p*_{1}, *p*_{7})$.

翻译中…

In the second sample, the swaps needed to obtain the prettiest permutation is $(*p*_{1}, *p*_{3}), (*p*_{4}, *p*_{5}), (*p*_{3}, *p*_{4})$.

翻译中…

image

翻译中…

A permutation $*p*$ is a sequence of integers $*p*_{1}, *p*_{2}, ..., *p*_{*n*}$, consisting of $*n*$ distinct positive integers, each of them doesn't exceed $*n*$. The $*i*$-th element of the permutation $*p*$ is denoted as $*p*_{*i*}$. The size of the permutation $*p*$ is denoted as $*n*$.

翻译中…

样例

Input #1
7
5 2 4 3 6 7 1
0001001
0000000
0000010
1000001
0000000
0010000
1001000
Output #1
1 2 4 3 6 7 5
InputCopy OutputCopy
Input #2
5
4 2 1 5 3
00100
00011
10010
01101
01010
Output #2
1 2 3 4 5
InputCopy OutputCopy
题目信息
题号
500B
所属比赛
时间限制
2 s
内存限制
256 MB
标签
DFS 及类似
并查集
图论
贪心
数学
排序

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。