Copy and Submit II
阿新 • • 發佈:2018-04-24
做的 for ace names sin std 技術分享 using algorithm
這題內存只有512k,直接提交的話肯定錯,所以需要給他優化一下,首先就要看懂代碼是在幹什麽
比如說如果是輸入3個數 a,b,c,就應該輸出1+a+b+c+ab+ac+bc+abc,當時做的時候就推到這一步,然後就不知道怎麽做了,回來問了一下才知道有公式
1+a+b+c+ab+ac+bc+abc=(1+a)(1+b)(1+c)
這個樣子就很好辦了,我的代碼如下:
1 #include <iostream> 2 #include <algorithm> 3 using namespace std; 4 5 const int M = 1000000007; 6 7int main() 8 { 9 int n,temp; 10 long long ans; 11 while (scanf("%d", &n)!=EOF) 12 { 13 ans = 1; 14 for (int i = 0; i < n; i++) 15 { 16 scanf("%d", &temp); 17 ans = (ans*(1 + temp) % M) % M; 18 } 19 printf("%ld\n", ans); 20 } 21 return 0; 22 }
Copy and Submit II