2017年浙江工业大学大学生程序设计迎新赛热身赛之cayun日常之赏月

时间:2022-03-04 10:33:51

cayun日常之赏月

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld

题目描述

cayun星球月亮大小都有一个规律,月亮为每30天一个周期,在这30天的周期里,月亮的大小分别为0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,虽然天气很冷,但某个cayun今天却异常疯癫,不知为何居然想要赏月了。但他想在赏月之前知道今天的月亮到底有多大。

输入描述:

第一行数据组数T(T <= 30),
对于每组数据两个整数a, b(0 <= a, b <= 15),表示前两天的月亮大小,保证数据是合法的。

输出描述:

每组数据占一行,表示今天的月亮大小。
示例1

输入

2
0 1
11 10

输出

2
9
代码实现:

import java.util.Scanner;

public class Main {

public static void main(String[] args) {
int[] m ={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
Scanner input = new Scanner(System.in);
int T = input.nextInt();
int[] next = new int[T];
for(int i = 0; i < T; i++) {

int a = input.nextInt();
int b = input.nextInt();

for (int j = 0; j < 29; j++) {
if (m[j] == a & m[j+1] == b & j < 27) {
next[i] = m[j+2];
} else if (a == m[29] & b == m[0]) {
next[i] = m[1];
} else if (m[27] == a & m[28] == b) {
next[i] = m[29];
}
}
}
for (int i : next) {
System.out.println(i);
}

input.close();
}

}

运行测试:

           2017年浙江工业大学大学生程序设计迎新赛热身赛之cayun日常之赏月

2017年浙江工业大学大学生程序设计迎新赛热身赛之cayun日常之赏月



想了解相关git代码请移步:https://github.com/striner/javaCode/blob/master/CayunDailyAppreciationOfTheMoon