CCF CSP刷题记录9——201509-1数列分段(java)、201509-2日期计算(java)

试题编号: 201509-1
试题名称: 数列分段
时间限制: 1.0s
内存限制: 256.0MB
问题描述:

问题描述

  给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段?

输入格式

  输入的第一行包含一个整数n,表示数列中整数的个数。
  第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。

输出格式

  输出一个整数,表示给定的数列有多个段。

样例输入

8
8 8 8 0 12 12 8 0

样例输出

5

样例说明

扫描二维码关注公众号,回复: 11674923 查看本文章

  8 8 8是第一段,0是第二段,12 12是第三段,倒数第二个整数8是第四段,最后一个0是第五段。

评测用例规模与约定

  1 ≤ n ≤ 1000,0 ≤ ai ≤ 1000。

import java.util.Scanner; 
public class 数列分段 {

	public static void main(String[] args) {
		
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		int[] a=new int[n];
		for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		}
		int res=0;
		for(int i=0;i<n-1;i++){
			if(a[i+1]!=a[i]){
				res++;
			}
		}
		System.out.println(res+1);
	}

}
试题编号: 201509-2
试题名称: 日期计算
时间限制: 1.0s
内存限制: 256.0MB
问题描述:

问题描述

  给定一个年份y和一个整数d,问这一年的第d天是几月几日?
  注意闰年的2月有29天。满足下面条件之一的是闰年:
  1) 年份是4的整数倍,而且不是100的整数倍;
  2) 年份是400的整数倍。

输入格式

  输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。
  输入的第二行包含一个整数dd在1至365之间。

输出格式

  输出两行,每行一个整数,分别表示答案的月份和日期。

样例输入

2015
80

样例输出

3
21

样例输入

2000
40

样例输出

2
9

import java.util.Scanner; 
public class 日期计算 {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int y=sc.nextInt();
		int d=sc.nextInt();
		int total;
		if(d<=31){
			System.out.print("1"+"\n"+d+"\n");
		}else{
			if(y%400==0||(y%100!=0&&y%4==0)){
				if(d<=60){
					System.out.print("2"+"\n"+(d-31)+"\n");
				}else if(d<=91){
					System.out.print("3"+"\n"+(d-60)+"\n");
				}else if(d<=121){
					System.out.print("4"+"\n"+(d-91)+"\n");
				}else if(d<=152){
					System.out.print("5"+"\n"+(d-121)+"\n");
				}else if(d<=182){
					System.out.print("6"+"\n"+(d-152)+"\n");
				}else if(d<=213){
					System.out.print("7"+"\n"+(d-182)+"\n");
				}else if(d<=244){
					System.out.print("8"+"\n"+(d-213)+"\n");
				}else if(d<=274){
					System.out.print("9"+"\n"+(d-244)+"\n");
				}else if(d<=305){
					System.out.print("10"+"\n"+(d-274)+"\n");
				}else if(d<=335){
					System.out.print("11"+"\n"+(d-305)+"\n");
				}else if(d<=366){
					System.out.print("12"+"\n"+(d-335)+"\n");
				}
			}else{
				if(d<=59){
					System.out.print("2"+"\n"+(d-31)+"\n");
				}else if(d<=90){
					System.out.print("3"+"\n"+(d-59)+"\n");
				}else if(d<=120){
					System.out.print("4"+"\n"+(d-90)+"\n");
				}else if(d<=151){
					System.out.print("5"+"\n"+(d-120)+"\n");
				}else if(d<=181){
					System.out.print("6"+"\n"+(d-151)+"\n");
				}else if(d<=212){
					System.out.print("7"+"\n"+(d-181)+"\n");
				}else if(d<=243){
					System.out.print("8"+"\n"+(d-212)+"\n");
				}else if(d<=273){
					System.out.print("9"+"\n"+(d-243)+"\n");
				}else if(d<=304){
					System.out.print("10"+"\n"+(d-273)+"\n");
				}else if(d<=334){
					System.out.print("11"+"\n"+(d-304)+"\n");
				}else if(d<=365){
					System.out.print("12"+"\n"+(d-334)+"\n");
				}
			}
		}
		

	}

}

猜你喜欢

转载自blog.csdn.net/m0_37483148/article/details/108291056