⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2950100_ac_1139ms_5132k.java

📁 北大大牛代码 1240道题的原代码 超级权威
💻 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 + -