CCF卖菜-Java

问题描述

  在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。
  第一天,每个商店都自己定了一个价格。店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自己的价格。具体的,每家商店都会将第二天的菜价设置为自己和相邻商店第一天菜价的平均值(用去尾法取整)。
  注意,编号为1的商店只有一个相邻的商店2,编号为n的商店只有一个相邻的商店n-1,其他编号为i的商店有两个相邻的商店i-1和i+1。
  给定第一天各个商店的菜价,请计算第二天每个商店的菜价。

输入格式

  输入的第一行包含一个整数n,表示商店的数量。
  第二行包含n个整数,依次表示每个商店第一天的菜价。

输出格式

  输出一行,包含n个正整数,依次表示每个商店第二天的菜价。

样例输入

8
4 1 3 1 6 5 17 9

样例输出

2 2 1 3 4 9 10 13

数据规模和约定

  对于所有评测用例,2 ≤ n ≤ 1000,第一天每个商店的菜价为不超过10000的正整数。

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class SaleCook {
	static Scanner sc;
	static int n;//总的商店的数目
	static int[] total;
	static List<Integer> list;
	public static void main(String[] args) {
		sc = new Scanner(System.in);
		n = sc.nextInt();
		list = new ArrayList<>();
		total = new int[n];
		for(int i=0;i<n;i++) {
			list.add(sc.nextInt());
		}
		for(int i=0;i<list.size();i++) {
			if(i==0) {
				total[i] = (list.get(i)+list.get(i+1))/2;
				System.out.print(total[i]+" ");
			} else if((i!=0)&&(i!=list.size()-1)) {
				total[i] = (list.get(i-1)+list.get(i)+list.get(i+1))/3;
				System.out.print(total[i]+" ");
			} else {
				total[i] = (list.get(i-1)+list.get(i))/2;
				System.out.print(total[i]);
			}
		}
	}

}

 

### CCF CSP Java 考试备考资料与认证信息 #### 关于CCF CSP认证 中国计算机学会推出的CCF CSP认证旨在评估软件开发者的实际编程能力,每年分别在3月、9月和12月举行三次认证考试[^1]。 #### 编程语言的选择 对于希望使用Java参加CCF CSP认证的考生,在报名时可以选择ALL作为考试语言选项。这意味着可以在不同的题目中自由选择包括但不限于Java在内的多种编程语言来解答问题[^3]。 #### 准备材料推荐 为了更好地准备基于JavaCCF CSP认证: - **官方资源**:定期访问官方网站获取最新的公告和技术文档更新;利用官网提供的历年真题进行实战演练。 - **书籍** - *《算法导论》*:深入理解数据结构和经典算法设计原理。 - *《Effective Java》*:掌握高效编写高质量Java程序的最佳实践指南。 - **在线课程平台** - LeetCode, Codeforces等网站提供了丰富的竞赛级编程挑战,有助于提高解题速度和准确性。 - Coursera上的专项课程如“Algorithms Specialization”,能够帮助巩固理论基础并学习更多高级主题。 - **模拟环境搭建** 使用本地集成开发环境(IDE),比如IntelliJ IDEA Ultimate Edition 或 Eclipse IDE for Java Developers 来熟悉真实的编码场景,并确保所写的代码能够在标准Java运行环境中正常工作。 ```java // 示例:简单的HelloWorld.java文件用于验证编译器配置是否正确 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值