聊天(蘑菇街)-Java
2016-04-18 13:22
387 查看
A和B是好友,他们经常在空闲时间聊天,A的空闲时间为[a1 ,b1 ],[a2 ,b2 ]..[ap ,bp ]。B的空闲时间是[c1 +t,d1 +t]..[cq +t,dq +t],这里t为B的起床时间。这些时间包括了边界点。B的起床时间为[l,r]的一个时刻。若一个起床时间能使两人在任意时刻聊天,那么这个时间就是合适的,问有多少个合适的起床时间?
输入描述:
第一行数据四个整数:p,q,l,r(1≤p,q≤50,0≤l≤r≤1000)。接下来p行数据每一行有一对整数ai,bi(0≤aii+1>bi,ci+1>di
输出描述:
输出答案个数
输入例子:
2 3 0 20
15 17
23 26
1 4
7 11
15 17
输出例子:
20
输入描述:
第一行数据四个整数:p,q,l,r(1≤p,q≤50,0≤l≤r≤1000)。接下来p行数据每一行有一对整数ai,bi(0≤aii+1>bi,ci+1>di
输出描述:
输出答案个数
输入例子:
2 3 0 20
15 17
23 26
1 4
7 11
15 17
输出例子:
20
//总共就是可能发生重叠的4种情况 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner in=new Scanner(System.in); while(in.hasNext()){ int p=in.nextInt(); int q=in.nextInt(); int l=in.nextInt(); int r=in.nextInt(); int a[][]=new int[p][2]; for(int i=0;i<p;i++){ a[i][0]=in.nextInt(); a[i][1]=in.nextInt(); } int c[][]=new int[q][2]; for(int i=0;i<q;i++){ c[i][0]=in.nextInt(); c[i][1]=in.nextInt(); } int s[]=new int[1000]; int total=0; for(int t=l;t<=r;t++){ for(int i=0;i<p;i++){ for(int j=0;j<q;j++){ if(a[i][0]<=c[j][0]+t||a[i][1]<=c[j][1]+t||(a[i][0]>c[j][0]+t)&&(a[i][1]>=c[j][1]+t)||(a[i][0]<=c[j][0]+t)&&(a[i][1]<c[j][1]+t)) s[t]=1; } } total=total+s[t]; } System.out.println(total); } } }
相关文章推荐
- java基本数据类型
- java里类方法和实例方法区别
- 深入理解java异常处理机制
- java集合-TreeMap
- Java 的 synchronized 是可重入性锁
- Java 内存区域和GC机制
- java实现字符串反转(原作有点错误,需要看下评论)
- # 20145334赵文豪 《Java程序设计》第7周学习总结
- SpringMVCRest post delete请求转换
- Java中hashCode的作用
- # 20145334赵文豪 《Java程序设计》第6周学习总结
- Java Web(11) Spring MVC 返回Json
- 学习JAVA之路(六、数组)
- Java入门(一)
- Java学习笔记
- java8 JDK8 元空间--删除
- spring 官方下载地址
- Selenium自动化测试视频教程(Java版)
- 简单介绍java Enumeration
- Java 7新特性总结 - Java IO