#P1118. 任务分派

    ID: 130 传统题 1000ms 256MiB 尝试: 0 已通过: 0难度: 提高 ← 上一题 下一题 → 随机一题 上传者: 标签 深度优先搜索 DFS 二分图匹配 贪心 匈牙利算法
显示设置

任务分派

题目描述

项目组有 nn 名成员和 nn 项任务,每名成员只能承担自己擅长的任务,每项任务也只能交给一名成员。给出每个人的擅长清单,请判断能不能做到「每名成员各领一项互不相同的任务」;如果可以,请给出一个安排方案。

如果方案不止一种,请输出字典序最小的那个:把每名成员领到的任务编号按成员 1,2,…,n1,2,\dots,n 的顺序写成一个序列,两个序列从头逐一比较,先出现较小数字的序列更小。

输入格式

第一行一个整数 nn。

接下来 nn 行,每行一个长度为 nn 的字符串,只由 0 和 1 组成,中间没有空格。第 ii 行第 jj 个字符是 1 表示第 ii 名成员擅长第 jj 项任务。

输出格式

一行 nn 个整数,第 ii 个数表示第 ii 名成员领到的任务编号,数与数之间用一个空格隔开。若不存在可行的安排,输出 −1-1。

输入输出样例 #1

输入 #1

3
110
100
011

输出 #1

2 1 3

说明

数据范围

  • 对于 100%100\% 的数据,1≤n≤151\le n\le 15。