hdu acm 1.2.3 An Easy Task (二分查找)
来源:互联网 发布:广州淘宝儿童模特 编辑:程序博客网 时间:2024/06/06 09:12
An Easy Task
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 1927 Accepted Submission(s): 1153
Problem Description
Ignatius was born in a leap year, so he want to know when he could hold his birthday party. Can you tell him?
Given a positive integers Y which indicate the start year, and a positive integer N, your task is to tell the Nth leap year from year Y.
Note: if year Y is a leap year, then the 1st leap year is year Y.
Input
The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.
Each test case contains two positive integers Y and N(1<=N<=10000).
Output
For each test case, you should output the Nth leap year from year Y.
Sample Input
32005 251855 122004 10000
Sample Output
2108190443236
#include <stdio.h>#include <iostream>using namespace std;#define MAX 80005int map[MAX];int T;int count;int init();int find(int year,int left,int right);int main(){count = init(); //闰年个数scanf("%d",&T);while(T--){int a,num;scanf("%d%d",&a,&num);//a = add_leap(a);int node = find(a,1,count-1); //二分查找printf("%d\n",map[node+num-1]); //下标减一}return 0;}int init(){int j = 0;for(int i = 1; i < MAX; i++){if((i%4==0 && i%100!=0) || i%400==0){map[j++] = i;}}return j;}int find(int year,int left,int right){int mid = (left+right)/2;if(left > right) return left;//year不是闰年时,返回左边值,,,)——if(year > map[mid])return find(year,mid+1,right);//右边else if(year < map[mid])return find(year,left,mid-1);//左边elsereturn mid;}
- hdu acm 1.2.3 An Easy Task (二分查找)
- hdu An Easy Task
- ACM水题 An easy task
- hdu 1076 An Easy Task
- HDU 1076 An Easy Task
- HDU 1076 An Easy Task
- Hdu 1076 - An Easy Task
- HDU 1076 An Easy Task
- hdu 1076 An Easy Task
- hdu 1076 An Easy Task
- HDU 1076 An Easy Task
- hdu-1076-An Easy Task
- hdu 1076 An Easy Task
- HDU 1076An Easy Task
- hdu 1076 An Easy Task
- hdu 1076 An Easy Task
- HDU 1076 An Easy Task
- hdu 1076 An Easy Task
- c++调用python函数接口
- Lucene入门与Demo
- VC++动态链接库编程之基础慨念
- linux nand flash 驱动(一) --- 原理分析
- Android SDK核心包简介
- hdu acm 1.2.3 An Easy Task (二分查找)
- sftp启动方法
- Struts2常用标签总结
- How to change CentOS IP address on a cloned VM
- Spring下Mysql的乱码问题
- Nginx+Resin高性能JAVA平台
- VC++如何使用Mschart 实例-------网络流量监控程序
- js实现checkbox全选和全不选代码
- git 版本常用控制命令