首页 / 题库

P70009 - 星战(star)

基础语法
通过次数3 提交次数13 内存限制 512MB 时间限制1秒

描述

       最近小项的班级里流行一款推理谜题——星战(Star Battle)。它的规则如下:

       在一个行列的网格中,网格被划分成个不同的区域,你需要在网格上放置个星星,不过它们有一些限制。

  1. 每个区域内只能放置一颗星星。
  2. 任意两个星星不能位于网格的同一行、同一列。
  3. 任意两个星星不能水平、垂直、对角线相邻

       小项是你的表弟,由于他把纸面的谜题变成程序的输入、以及把程序输出结果画在纸面上需要114.514秒,他希望你能开发一款程序,需要你的程序在1秒内得出星战谜题的解,并且先输出行号小的,后输出行号大的,如果有多组解,尽量使得前面行的星星的列号尽可能的小。你可以帮帮他吗?

输入

从文件star.in中读入数据。

第一行一个数字。

接着行,每行个数字,表示第行第列的网格属于第个区域。

输出

输出到文件star.out中。

如果谜题有解,则输出包含行,每行两个数字,第行表示第行的星星所在的行号和列号。如果没有解,输出-1即可。

样例

  • 复制
  • 复制
  • 复制
  • 复制

提示

【样例1解释】

谜面如下图,不同的区域用粗线分割开来:

谜面只有唯一解:1~5号区域的星星分别放置在(1,3) (2,5) (3,2) (4,4) (5,1)。

 

 

【样例2解释】

谜面如下图,不同的区域用粗线分割开来:

谜面有多组解,下面给出两种符合规则的解,但是只有上面那种解,(1,2)(2,6)(3,4)(4,7)(5,1)(6,3)(7,5)(8,8),能够使得行号小的星星列号尽可能小。

【样例3】

见选手目录下 star / star3.in和star / star3.ans。

【数据范围】

对于所有测试数据有:,保证每个区域在网格上是连续的。

 

 

附件

意见反馈

    最多上传3张图片,格式为JPG、PNG、JPEG,单张不超过5MB

    注册

    发送验证码

    密码必须包含数字、字母和特殊字符

    找回密码

    发送验证码

    密码必须包含数字、字母和特殊字符

    运行 ID:67149

    • 测试点1:Accepted
    • 用时:0 ms
    • 内存:288 kb
    • 测试点2:Accepted
    • 用时:0 ms
    • 内存:288 kb
    输入
    203
    输出
    203

    test

    测评信息

    错误.in文件下载

    错误.out文件下载

    运行 ID:67149

    2019-01-24 15:06:36