【编程题】膨胀的牛牛

链接:https://www.nowcoder.com/questionTerminal/105837ea4caa47c6bb937e651240ead2
来源:牛客网

牛牛以草料为食。牛牛有一天依次遇到n堆被施展了魔法的草料,牛牛只要遇到一堆跟他当前相同大小的草料,它就会把草料吃完,而使自己的大小膨胀一倍。一开始牛牛的大小的是A,然后给出牛牛依次遇到的n堆草料的大小。请计算牛牛最后的大小。

输入描述:

输入包括两行,第一行包含两个整数n和A(1 ≤ n ≤ 200, 1 ≤ A ≤ 1,000,000,000)
第二行包括n个整数,表示牛牛依次遇到的草料堆大小a_i(1 ≤ a_i ≤ 1,000,000,000)

输出描述:

输出一个整数,表示牛牛最后的大小。

示例1

输入

5 1
2 1 3 1 2

输出

4

解题思路:遇到与当前大小相等的值,则当前大小加倍

package BiShiTi;

import java.util.Scanner;

public class m_0008 {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		String str1 = scan.nextLine();
		String str2 = scan.nextLine();
		
		int n = Integer.parseInt(str1.split(" ")[0]);
		long A = Long.parseLong(str1.split(" ")[1]);
		String [] a_i_Str = str2.split(" ");
		long [] a_i = new long[n];
		for (int i = 0; i < n; i++) {
			a_i[i] = Long.parseLong(a_i_Str[i]);
		}
		
		long size = FinalSize(n, A, a_i);
		System.out.println(size);
	}
	
	static long FinalSize(int n, long A, long [] a_i){
		for (int i = 0; i < n; i++) {
			if (A == a_i[i]) {
				A *= 2;
			}
		}
		
		return A;
	}
}

猜你喜欢

转载自my.oschina.net/MasterLi161307040026/blog/1811092
今日推荐