1. 程式人生 > >CCF201809-01 買菜

CCF201809-01 買菜

問題描述   在一條街上有n個賣菜的商店,按1至n的順序排成一排,這些商店都賣一種蔬菜。   第一天,每個商店都自己定了一個正整數的價格。店主們希望自己的菜價和其他商店的一致,第二天,每一家商店都會根據他自己和相鄰商店的價格調整自己的價格。具體的,每家商店都會將第二天的菜價設定為自己和相鄰商店第一天菜價的平均值(用去尾法取整)。   注意,編號為1的商店只有一個相鄰的商店2,編號為n的商店只有一個相鄰的商店n-1,其他編號為i的商店有兩個相鄰的商店i-1和i+1。   給定第一天各個商店的菜價,請找到符合要求的第二天菜價。   輸入的第一行包含一個整數n,表示商店的數量。   第二行包含n個正整數,依次表示每個商店第一天的菜價。 輸出格式

  輸出一行,包含n個正整數,依次表示每個商店第二天的菜價。 樣例輸入 8 2 2 1 3 4 9 10 13 樣例輸出 2 2 2 1 6 5 16 10

程式碼如下:

#include<bits/stdc++.h>
using namespace std;
int a[1001];
int b[1001];
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	b[1]=(a[1]+a[2])/2;

	b[n]=(a[n]+a[n-1])/2;
	
	for(int i=2;i<n;i++){

		b[i]=(a[i-1]+a[i]+a[i+1])/3;
	}
	for(int i=1;i<=n;i++){
		if(i==1)
		cout<<b[i];
		else cout<<" "<<b[i];
	}
	return 0;
}