Guess the Permutation
2016-02-26 16:31
447 查看
Description
Bob has a permutation of integers from 1 to
n. Denote this permutation as p. The
i-th element of p will be denoted as
pi. For all pairs of distinct integers
i, j between
1 and n, he wrote the number
ai, j = min(pi, pj). He writes
ai, i = 0 for all integer
i from 1 to
n.
Bob gave you all the values of ai, j that he wrote down. Your job is to reconstruct any permutation that could have generated these values. The input will be formed so
that it is guaranteed that there is at least one solution that is consistent with the information given.
Input
The first line of the input will contain a single integer
n (2 ≤ n ≤ 50).
The next n lines will contain the values of
ai, j. The
j-th number on the
i-th line will represent ai, j. The
i-th number on the
i-th line will be 0. It's guaranteed that
ai, j = aj, i and there is at least one solution consistent with the information given.
Output
Print n space separated integers, which represents a permutation that could have generated these values. If there are multiple possible solutions, print any of them.
Sample Input
Input
Output
Input
Output
Sample Output
Hint
In the first case, the answer can be {1, 2} or
{2, 1}.
In the second case, another possible answer is {2, 4, 5, 1, 3}.
Bob has a permutation of integers from 1 to
n. Denote this permutation as p. The
i-th element of p will be denoted as
pi. For all pairs of distinct integers
i, j between
1 and n, he wrote the number
ai, j = min(pi, pj). He writes
ai, i = 0 for all integer
i from 1 to
n.
Bob gave you all the values of ai, j that he wrote down. Your job is to reconstruct any permutation that could have generated these values. The input will be formed so
that it is guaranteed that there is at least one solution that is consistent with the information given.
Input
The first line of the input will contain a single integer
n (2 ≤ n ≤ 50).
The next n lines will contain the values of
ai, j. The
j-th number on the
i-th line will represent ai, j. The
i-th number on the
i-th line will be 0. It's guaranteed that
ai, j = aj, i and there is at least one solution consistent with the information given.
Output
Print n space separated integers, which represents a permutation that could have generated these values. If there are multiple possible solutions, print any of them.
Sample Input
Input
2 0 1 1 0
Output
2 1
Input
5 0 2 2 1 2 2 0 4 1 3 2 4 0 1 3 1 1 1 0 1 2 3 3 1 0
Output
2 5 4 1 3
Sample Output
Hint
In the first case, the answer can be {1, 2} or
{2, 1}.
In the second case, another possible answer is {2, 4, 5, 1, 3}.
#include <iostream> #include<algorithm> #include<cstdio> #include<cmath> #include<cstring> #include<cstdlib> using namespace std; int main() { int n, i, j, m; int a[50][50], b[50]; scanf("%d", &n); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf("%d", &a[i][j]); } getchar(); } for (i = 0; i < n; i++) { m = 0; for (j = 1;j < n; j++) { if (a[i][m] < a[i][j]) m = j; } b[i] = a[i][m]; if (b[i] > n || b[i] == n - 1) b[i] = n; } printf("%d", b[0]); for (i = 0; i < n; i++) { for (j = i + 1; j < n; j++) { if (b[i] == b[j]) b[j] -= 1; } if (i != 0) { printf(" %d", b[i]); } } return 0; }
相关文章推荐
- easyui datagrid 部分参数整理
- C# 项目迁移 Microsoft.VisualStudio.Tools.Office.BuildTasks 生成解决方法报错:请确认 <UsingTask> 声明正确,该程序集及其所有依赖项都可用
- Win8.1+Ubuntu双系统(UEFI+GPT)
- 取消UISearchbar背景色
- Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
- 给UIImage添加生成圆角图片的扩展API:
- iOS 键盘挡住UITextField
- iOS 事件响应者链的学习(也有叫 UI连锁链)
- Java中建造者(Builder)设计
- UINavigationController使用的注意事项
- android下Invalid layout of java.lang.String at value解决方法
- iOS之修改UIStatusbar 文字颜色
- win7 64位 旗舰版 右键菜单增加UE选项
- 详解 CALayer 和 UIView 的区别和联系
- 当键盘出现的时候,如何让UITextField自动上移
- Arduino Ethernet W5100扩展板的指示灯含义
- Arduino Ethernet W5100扩展板的指示灯含义
- OpenStack 系列之File Share Service(Manila) Install Guide
- OpenStack 系列之File Share Service(Manila) Install Guide
- [LeetCode] Unique Word Abbreviation 独特的单词缩写