• [E] 数数塔

  • 时间限制: 1000 ms 内存限制: 65535 K
  • 问题描述
  • 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?并输出最大和的路径。


  • 输入
  • 输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,接下来用N行数字表示数塔,其中第i行有个i个整数,且所有的整数均在区间[0,99]内。
  • 输出
  • 对于每个测试实例,输出两行。
    第一行:输入最大和。
    第二行:如果最大和的路径是唯一的,输出其路径(详细格式见样例输出),否则输出” There are several solutions!”
  • 样例输入
  • 2
    5
    7
    3 8
    8 1 0 
    2 7 4 4
    4 5 2 6 5
    3
    1
    1 1
    1 1 1
    
  • 样例输出
  • 30
    (0, 0) -> (1, 0) -> (2, 0) -> (3, 1) -> (4, 1)
    3
    There are several solutions!
    
  • 提示
  • 不要用cin 和 cout,否则会超时(⊙_⊙)
  • 来源
  • monkeyde17
  • 操作

显示春菜