CF1267D.DevOps Best Practices
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Daisy 是 RainyDay, LLC 的一名高级软件工程师。她刚刚在产品中实现了三个新功能:第一个功能使产品能够正常运行,第二个功能提升了产品的速度,第三个功能确保产品的正确性。公司希望对新功能进行一定的测试,因此 Daisy 指派实习生 Demid 为这些功能编写测试案例。
有趣的是,这三个功能在 Demid 的开发服务器(编号为 1)上通过了所有测试,但可能会在其他服务器上失败。
完成开发后,Daisy 让你负责将这三个新功能部署到公司所有 n 台服务器上。每个功能 f 和每台服务器 s,Daisy 都告诉你是否需要将功能 f 部署到服务器 s 上。如果 Daisy 希望部署,则无论功能 f 在服务器 s 上是否通过测试都必须进行部署。如果她不需要部署,你就不能在该服务器上执行部署。
你的公司有两种重要工具来实现新功能的部署:持续部署(CD)和持续测试(CT)。CD 可以在几对服务器之间建立连接,形成一个有向图。CT 可以在某些服务器上进行设置。
如果服务器 s1 对服务器 s2 进行了 CD 配置,那么每当 s1 接收到一个新功能 f 时,系统将启动以下部署过程:
- 如果功能 f 已部署在服务器 s2 上,则无需操作。
- 否则,如果服务器 s1 上未设置 CT,则直接将功能 f 从服务器 s1 部署到服务器 s2,无需进行测试。
- 否则,服务器 s1 将运行功能 f 的测试。如果测试失败,不做任何操作。如果测试通过,则将功能 f 部署到服务器 s2。
你需要配置 CD/CT 系统,然后 Demid 在其开发服务器上部署所有三个功能。你的配置必须确保每个功能精准地部署到 Daisy 规定的服务器上。
公司计算资源有限,因此你最多允许在 264 对服务器之间建立 CD。
输入格式
-
第一行包含一个整数 n(2≤n≤256),表示服务器的数量。
-
接下来 n 行,每行包含三个数字。第 i 行的第 j 个数字为 1 表示 Daisy 希望将第 j 个功能部署到第 i 台服务器上,0 表示不需要。
-
再接下来的 n 行,每行也包含三个数字。第 i 行的第 j 个数字为 1 表示第 j 个功能在第 i 台服务器上的测试通过,0 表示测试未通过。
Demid 的开发服务器编号为 1。保证 Daisy 希望所有三个功能都在服务器 1 上部署,并且所有功能在此服务器上都能通过测试。
输出格式
如果无法在 264 对服务器之间建立 CD 连接来满足要求,请输出 "Impossible"。否则:
- 第一行输出 "Possible"。
- 第二行输出 n 个用空格分隔的数字,表示每台服务器的 CT 配置。第 i 个数字为 1 表示在第 i 台服务器上配置了 CT,为 0 表示未配置。
- 第三行输出一个整数 m(0≤m≤264),表示你设置的 CD 对数。
- 接下来的 m 行,每行包含两个整数 si 和 ti(1≤si,ti≤n;si=ti),表示自动部署从服务器 si 到服务器 ti。
本翻译由 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测评打分。不知道怎么写?