zrj2012-B3-0016

从 Trac 迁移的文章

这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。

原文章内容如下:

题目大意:有一个L*W*H的立方体,由L*H*W个单位小立方体组成。每个小立方体有一个数,可以将相邻(共面)两个立方体同时加上或同时减去一个相同的数。问能否把所有小立方体的数变成0.
这题我一开始2了,想用网络流,结果弄了半天为弄出来,主要是这里可以同时加上一个数。
现在考虑某一个格子,有两个与它相邻的小立方体a,b,如果它先与a同时加上数x再与b同时减去数x,我们发现,格子本身的数没变,但是a多了x,b少了x,形成了由a到b得传递。
如果我们队立方体01染色,相邻小立方体染不同颜色,我们可以发现,颜色相同的立方体都是可以相互传递的。因此只要把所有立方体的数传递到两个相邻的立方体上就可以了。

题目大意:有一个L*W*H的立方体,由L*H*W个单位小立方体组成。每个小立方体有一个数,可以将相邻(共面)两个立方体同时加上或同时减去一个相同的数。问能否把所有小立方体的数变成0.

这题我一开始2了,想用网络流,结果弄了半天为弄出来,主要是这里可以同时加上一个数。

现在考虑某一个格子,有两个与它相邻的小立方体a,b,如果它先与a同时加上数x再与b同时减去数x,我们发现,格子本身的数没变,但是a多了x,b少了x,形成了由a到b得传递。

如果我们队立方体01染色,相邻小立方体染不同颜色,我们可以发现,颜色相同的立方体都是可以相互传递的。因此只要把所有立方体的数传递到两个相邻的立方体上就可以了。