CF500B.New Year Permutation

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

User ainta has a permutation p1,p2,...,pnp_{1},p_{2},...,p_{n} . As the New Year is coming, he wants to make his permutation as pretty as possible.

Permutation a1,a2,...,ana_{1},a_{2},...,a_{n} is prettier than permutation b1,b2,...,bnb_{1},b_{2},...,b_{n} , if and only if there exists an integer kk ( 1<=k<=n1<=k<=n ) where a1=b1,a2=b2,...,ak1=bk1a_{1}=b_{1},a_{2}=b_{2},...,a_{k-1}=b_{k-1} and a_{k}<b_{k} all holds.

As known, permutation pp 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×nn×n binary matrix AA , user ainta can swap the values of pip_{i} and pjp_{j} ( 1<=i,j<=n1<=i,j<=n , iji≠j ) if and only if Ai,j=1A_{i,j}=1 .

Given the permutation pp and the matrix AA , user ainta wants to know the prettiest permutation that he can obtain.

输入格式

The first line contains an integer nn ( 1<=n<=3001<=n<=300 ) — the size of the permutation pp .

The second line contains nn space-separated integers p1,p2,...,pnp_{1},p_{2},...,p_{n} — the permutation pp that user ainta has. Each integer between 11 and nn occurs exactly once in the given permutation.

Next nn lines describe the matrix AA . The ii -th line contains nn characters '0' or '1' and describes the ii -th row of AA . The jj -th character of the ii -th line Ai,jA_{i,j} is the element on the intersection of the ii -th row and the jj -th column of A. It is guaranteed that, for all integers i,ji,j where 1<=i<j<=n , Ai,j=Aj,iA_{i,j}=A_{j,i} holds. Also, for all integers ii where 1<=i<=n1<=i<=n , Ai,i=0A_{i,i}=0 holds.

输出格式

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

输入输出样例

  • 输入#1

    7
    5 2 4 3 6 7 1
    0001001
    0000000
    0000010
    1000001
    0000000
    0010000
    1001000
    

    输出#1

    1 2 4 3 6 7 5
    
  • 输入#2

    5
    4 2 1 5 3
    00100
    00011
    10010
    01101
    01010
    

    输出#2

    1 2 3 4 5
    

说明/提示

In the first sample, the swap needed to obtain the prettiest permutation is: (p1,p7)(p_{1},p_{7}) .

In the second sample, the swaps needed to obtain the prettiest permutation is (p1,p3),(p4,p5),(p3,p4)(p_{1},p_{3}),(p_{4},p_{5}),(p_{3},p_{4}) .

A permutation pp is a sequence of integers p1,p2,...,pnp_{1},p_{2},...,p_{n} , consisting of nn distinct positive integers, each of them doesn't exceed nn . The ii -th element of the permutation pp is denoted as pip_{i} . The size of the permutation pp is denoted as nn .

首页