Copy and Submit II(递推)

        Copy and Submit II

题目链接 : 点这里

#include
#include
#include

using namespace std;
const long long M = 1000000007;
int main()
{
    int n;
    while(~scanf("%d",&n))
    {
         long long sum = 1;
         for(int i =0;iint a;
             scanf("%d",&a);
             sum  = ( sum % M * (a + 1) ) % M;
         }
         //这里为什么 是 (a + 1) * sum
         //你从上往下写 出来 这个递归树 会发现 只有叶子节点 才会向上贡献 一个 return 的值
         /*
    整理出来 return 的 值加入 n= 3
     1 + a1 + a2 + a3 + a1 * a2 + a2 *a3 + a1 * a2 * a3 = (a1 + 1) * (a2 + 1) * (a3 + 1)
    */
         printf("%lld\n",sum%M);
    }
    return 0;
}

你可能感兴趣的:(递推)