2018.09.01 买菜 问题描述 在⼀条街上有n个卖菜的商店,按1⾄n的顺序排成⼀排,这些商店都卖⼀种蔬菜。 第⼀天,每个商店都⾃⼰定了⼀个价格。店主们希望⾃⼰的菜价和其他商店的⼀致,第⼆天,每⼀家商店都会根据他⾃⼰和相邻商店的 价格调整⾃⼰的价格。具体的,每家商店都会将第⼆天的菜价设置为⾃⼰和相邻商店第⼀天菜价的平均值(⽤去尾法取整)。 注意,编号为1的商店只有⼀个相邻的商店2,编号为n的商店只有⼀个相邻的商店n-1,其他编号为i的商店有两个相邻的商店i-1和 i+1。给定第⼀天各个商店的菜价,请计算第⼆天每个商店的菜价。 输⼊格式 输⼊的第⼀⾏包含⼀个整数n,表⽰商店的数量。 第⼆⾏包含n个整数,依次表⽰每个商店第⼀天的菜价 输出格式 输出⼀⾏,包含n个正整数,依次表⽰每个商店第⼆天的菜价 样例输⼊ 84 1 3 1 6 5 17 9 样例输出 2 2 1 3 4 9 10 13 数据规模和约定 对于所有评测⽤例,2 ≤ n ≤ 1000,第⼀天每个商店的菜价为不超过10000的正整数
#include<bits/stdc++.h>
#include<stdlib.h>
using namespace std;
int main(){
int n;
cin>>n;
int a[n];
int i;
for(i=0;i<n;i++){
cin>>a[i];
if(i!=0&&i!=n-1)
a[i]=int(a[i-1]+a[i+1]+a[i])/3;
else if(i==0)
a[i]=int(a[i+1]+a[i])/2;
else if(i==n-1)
a[i]=int(a[i-1]+a[i])/2;
cout<<a[i]<<" ";
}
return 0;
system("pause");
}
``````python
int(n)
int(a[n])
n=input()
for i in range(0,n-1):
a[i]=input()
if i!=0 and i!=n-1:a[i]=int((a[i-1]+a[i+1]+a[i])/3)
elif i==0:a[i]=int((a[i+1]+a[i])/2)
elif i==n-1:a[i]=int((a[i-1]+a[i])/2)
print(a[i],end=' ')
好像都不过。。。