比赛场次 58
比赛名称 20100420
比赛状态 已结束比赛成绩
开始时间 2010-04-20 08:15:00
结束时间 2010-04-20 11:30:00
开放分组 全部用户
注释介绍
题目名称 圆桌会议B
输入输出 dislike.in/out
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试点数 7 简单对比
用户 结果 时间 内存 得分
Gravatar.Xmz AAAATTA 0.000 s 0.00 MiB 71
GravatarReimBurSe. AAAETTE 0.000 s 0.00 MiB 42
Gravatarybh AAATTTT 0.000 s 0.00 MiB 42
GravatarAchilles AAATTTT 0.000 s 0.00 MiB 42
Gravatarlc AAATTTT 0.000 s 0.00 MiB 42
Gravatarreamb AWWETTE 0.000 s 0.00 MiB 14

圆桌会议B

★☆   输入文件:dislike.in   输出文件:dislike.out   简单对比
时间限制:1 s   内存限制:128 MiB
【问题描述】
N个政党的领导人参加一次圆桌会议讨论政治问题,但是某些领导人不愿意与其他某些政党的领导人坐在一起。这N个领导人用1,2,…,N来表示。I不愿意与J坐在一起不一定表示J不愿意与I坐在一起,但是在这种情况下,I与J还是不能坐在一起,因为I不喜欢J。
用一个以1开头的1,2,…,N的排列来表示一种安排座位的方案,假定排列的最后一个数字与1是相邻的。排列的方案要以字典顺序输出。而且,顺时针和逆时针的情况被认为是相同的。
写一个程序,输出所有可行的座位安排方案。
输入格式】
输入格式(输入文件名dislike.in)
输入文件包含多组数据。
每组数据的第1行是数据编号C和领导人的数目N(N<=40)。
接下来是一个N行N列的矩阵D,如果I不愿意与J坐在一起,那么矩阵的第,行的第J个数为1,否则为0。同行整数之间用一个空格分隔。
当C=0时输入文件结束。
输出格式】
输出格式(输出文件名dislike.out)
对于输入的每一组数据,首先在一行输出数据编号C和所有可行的安排方案的总数K。
接下来的K行按字典顺序输出每种可行的方案。两组相邻的输出数据间用一个空行分隔
(注:输出数据顺序与输入数据一致即可)
输入输出样例】
输入(dislike.in)
1 5
1 1 0 1 0
0 1 0 0 1
0 0 1 0 0
1 0 0 1 0
0 1 0 1 1
2 6
1 0 1 1 0 0
0 1 0 0 0 1
1 0 1 0 0 0
1 0 0 1 1 0
0 0 1 0 1 1
0 1 0 0 1 1
0
输出(dislike.out)
1 0
2 2
1 5 2 3 4 6
1 5 2 4 3 6