📄 2950100_ac_1139ms_5132k.java
字号:
import java.util.*;
public class Main
{
public static void main(String[] args)
{
int N, M;
int i, j;
int r, q, ts, te, mm;
int t[] = new int [1001];
int s[] = new int [1001];
int m[] = new int [1001];
int n[] = new int [1001];
Scanner cin = new Scanner (System.in);
while(true)
{
N = cin.nextInt();
M = cin.nextInt();
if(N==0&&M==0)
break;
r = cin.nextInt();
for(i = 0; i < r; i++)
{
t[i] = cin.nextInt();n[i] = cin.nextInt();
m[i] = cin.nextInt();s[i] = cin.nextInt();
}
q = cin.nextInt();
for(i = 0; i < q; i++)
{
ts = cin.nextInt();
te = cin.nextInt();
mm = cin.nextInt();
int ans;
int st, ed;
st = ed = 0;
boolean flag;
flag = false;
int start = 0, end;
ans = 0;
for(j = 0; j < r; j++)
{
if(m[j]==mm)
{
if(!flag)
{
start = t[j];
flag = true;
}
if(s[j]==0)
ed++;
else
st++;
if(st==ed)
{
st = 0;
ed = 0;
flag = false;
end = t[j];
ans += Ins(start,end,ts,te);
// System.out.println(ans);
}
}
}
System.out.println(ans);
}
}
}
private static int Ins(int start, int end, int ts, int te)
{
if(ts >= start && te <= end)
return te - ts;
if(end <= ts || start >= te)
return 0;
if(start >= ts&&end <= te)
return end - start;
if(start < ts)
return end - ts;
return te - start;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -