CF1267D.DevOps Best Practices

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

Daisy 是 RainyDay, LLC 的一名高级软件工程师。她刚刚在产品中实现了三个新功能:第一个功能使产品能够正常运行,第二个功能提升了产品的速度,第三个功能确保产品的正确性。公司希望对新功能进行一定的测试,因此 Daisy 指派实习生 Demid 为这些功能编写测试案例。

有趣的是,这三个功能在 Demid 的开发服务器(编号为 1)上通过了所有测试,但可能会在其他服务器上失败。

完成开发后,Daisy 让你负责将这三个新功能部署到公司所有 nn 台服务器上。每个功能 ff 和每台服务器 ss,Daisy 都告诉你是否需要将功能 ff 部署到服务器 ss 上。如果 Daisy 希望部署,则无论功能 ff 在服务器 ss 上是否通过测试都必须进行部署。如果她不需要部署,你就不能在该服务器上执行部署。

你的公司有两种重要工具来实现新功能的部署:持续部署(CD)和持续测试(CT)。CD 可以在几对服务器之间建立连接,形成一个有向图。CT 可以在某些服务器上进行设置。

如果服务器 s1s_1 对服务器 s2s_2 进行了 CD 配置,那么每当 s1s_1 接收到一个新功能 ff 时,系统将启动以下部署过程:

  • 如果功能 ff 已部署在服务器 s2s_2 上,则无需操作。
  • 否则,如果服务器 s1s_1 上未设置 CT,则直接将功能 ff 从服务器 s1s_1 部署到服务器 s2s_2,无需进行测试。
  • 否则,服务器 s1s_1 将运行功能 ff 的测试。如果测试失败,不做任何操作。如果测试通过,则将功能 ff 部署到服务器 s2s_2。

你需要配置 CD/CT 系统,然后 Demid 在其开发服务器上部署所有三个功能。你的配置必须确保每个功能精准地部署到 Daisy 规定的服务器上。

公司计算资源有限,因此你最多允许在 264 对服务器之间建立 CD。

输入格式

  • 第一行包含一个整数 nn(2≤n≤2562 \le n \le 256),表示服务器的数量。

  • 接下来 nn 行,每行包含三个数字。第 ii 行的第 jj 个数字为 1 表示 Daisy 希望将第 jj 个功能部署到第 ii 台服务器上,0 表示不需要。

  • 再接下来的 nn 行,每行也包含三个数字。第 ii 行的第 jj 个数字为 1 表示第 jj 个功能在第 ii 台服务器上的测试通过,0 表示测试未通过。

Demid 的开发服务器编号为 1。保证 Daisy 希望所有三个功能都在服务器 1 上部署,并且所有功能在此服务器上都能通过测试。

输出格式

如果无法在 264 对服务器之间建立 CD 连接来满足要求,请输出 "Impossible"。否则:

  • 第一行输出 "Possible"。
  • 第二行输出 nn 个用空格分隔的数字,表示每台服务器的 CT 配置。第 ii 个数字为 1 表示在第 ii 台服务器上配置了 CT,为 0 表示未配置。
  • 第三行输出一个整数 mm(0≤m≤2640 \le m \le 264),表示你设置的 CD 对数。
  • 接下来的 mm 行,每行包含两个整数 sis_i 和 tit_i(1≤si,ti≤n1 \le s_i, t_i \le n;si≠tis_i \ne t_i),表示自动部署从服务器 sis_i 到服务器 tit_i。

本翻译由 AI 自动生成

输入输出样例

  • 输入#1

    3
    1 1 1
    1 0 1
    1 1 1
    1 1 1
    0 0 0
    1 0 1
    

    输出#1

    Possible
    1 1 1
    2
    3 2
    1 3
    
  • 输入#2

    2
    1 1 1
    0 0 1
    1 1 1
    1 1 0
    

    输出#2

    Impossible
    

输入解题思路,AI测评打分。不知道怎么写?

首页