sir_chen 发表于 2010-6-2 22:46:22

中兴捧月杯赛题1

俄罗斯套娃奖品
2010-05-08

伊万洛夫在比武大会上力克群雄,成为新一届“草原雄鹰”,为部落赢得了莫大荣誉。首领决定要重重奖赏,他对伊万洛夫说:“孩子,你是知道的,面前的这片草原,南北向和东西向的道路纵横交错。现在,路口放着纯金打造的俄罗斯娃娃,重量大小不等,重的都能装下轻的。你可以沿着道路飞奔,拾取路口的娃娃,要求是任何时刻必须是一个套娃,装好后就不能再拆开了。注意不要走重复路。”
请你为伊万洛夫规划路线,使得他能够有最大的收获。
Input:cross.txt
      输入包括多组测试用例;
      每个测试用例开始是一对整数<R, C>,R表示东西向道路数,C表示南北向道路总数;接下来R行,每行包括C个正整数(或0)W,分别表示第r条东西向道路与第c条南北向道路交叉处路口放置的俄罗斯娃娃的重量(或表示没有放置娃娃)。
Output:
      输出能有最大收获的路径规划。


假设1:
   cross.txt
   2   7
   1   2   13   6   71211
   14   3   4   5   8   9   10
输出:
1 2 3 4 5 6 7 8 9 10 11 12

假设2:
   cross.txt

   5    5
   1   16   15   14   13
   2   17   24   23   12
   3   18   25   22   11
   4   19   20   21   10
   5    6   7   8   9


输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25


注释:
1)从<0,0>出发;
2)路线不能重复;
3)不要求最后回到出发点。

litaoye 发表于 2010-6-3 00:12:46

感觉应该是NPC的,但这方面知之甚少,不清楚应该向哪个已知的问题规约。
不过即使是NPC,也可以试试状态压缩,配合硬搜,只是不能处理规模太大的数据。
BTW:曾经想过把图分层转化到3维空间来解,不过也没找到太好的方法。
页: [1]
查看完整版本: 中兴捧月杯赛题1