1. 程式人生 > >CCF————201809-1(賣菜)

CCF————201809-1(賣菜)

問題描述

  在一條街上有Ñ個賣菜的商店,按1至Ñ的順序排成一排,這些商店都賣一種蔬菜。
  第一天,每個商店都自己定了一個價格。店主們希望自己的菜價和其他商店的一致,第二天,每一家商店都會根據他自己和相鄰商店的價格調整自己的價格。具體的,每家商店都會將第二天的菜價設定為自己和相鄰商店第一天菜價的平均值(用去尾法取整)。
  注意,編號為1的商店只有一個相鄰的商店2,編號為ñ的商店只有一個相鄰的商店N-1個,其他編號為我的商店有兩個相鄰的商店的i-1和i + 1的。
  給定第一天各個商店的菜價,請計算第二天每個商店的菜價。

輸入格式

  輸入的第一行包含一個整數N,表示商店的數量。


  第二行包含Ñ個整數,依次表示每個商店第一天的菜價。

輸出格式

  輸出一行,包含Ñ個正整數,依次表示每個商店第二天的菜價。

樣例輸入

8
4 1 3 1 6 5 17 9

樣例輸出

2 2 1 3 4 9 10 13

資料規模和約定

  對於所有評測用例,2≤n≤1000,第一天每個商店的菜價為不超過10000的正整數。

#include <stdio.h>
int last[10000];
int first[10000];
int main() {
    int n;

    scanf("%d",&n);

    for (int i = 0; i <n; i++) {
         scanf("%d",&first[i]);
    }

    for (int j = 0; j <n; j++) {

        if (j==0) {
            last[j] =  (first[j] + first[j + 1]) / 2;
        }
            else if (j == n - 1) {
                last[j] = (first[j - 1] + first[j]) / 2;
            }

         else{
            last[j] =  ( first[j-1] + first[j] + first[j+1] )/ 3;
        }
    }

    for (int k = 0; k <n ; k++) {
        printf("%d ",last[k]);
    }
    return 0;
}

問題:把陣列定義到函式外部;(節約記憶體)