zoukankan      html  css  js  c++  java
  • Google Code Jam 2010 Round 1C Problem A. Rope Intranet

    Google Code Jam 2010 Round 1C Problem A. Rope Intranet
    https://code.google.com/codejam/contest/619102/dashboard#s=p0

    Problem A. Rope Intranet

    A company is located in two very tall buildings. The company intranet connecting the buildings consists of many wires, each connecting a window on the first building to a window on the second building.

    You are looking at those buildings from the side, so that one of the buildings is to the left and one is to the right. The windows on the left building are seen as points on its right wall, and the windows on the right building are seen as points on its left wall. Wires are straight segments connecting a window on the left building to a window on the right building.

    You've noticed that no two wires share an endpoint (in other words, there's at most one wire going out of each window). However, from your viewpoint, some of the wires intersect midway. You've also noticed that exactly two wires meet at each intersection point.

    On the above picture, the intersection points are the black circles, while the windows are the white circles.

    How many intersection points do you see?

    Input

    The first line of the input gives the number of test cases, TT test cases follow. Each case begins with a line containing an integer N, denoting the number of wires you see.

    The next N lines each describe one wire with two integers Ai and Bi. These describe the windows that this wire connects: Ai is the height of the window on the left building, and Biis the height of the window on the right building.

    Output

    For each test case, output one line containing "Case #x: y", where x is the case number (starting from 1) and y is the number of intersection points you see.

    Limits

    1 ≤ T ≤ 15.
    1 ≤ Ai ≤ 104.
    1 ≤ Bi ≤ 104.
    Within each test case, all Ai are different.
    Within each test case, all Bi are different.
    No three wires intersect at the same point.

    Small dataset

    1 ≤ N ≤ 2.

    Large dataset

    1 ≤ N ≤ 1000.

    Sample


    Input 
     

    Output 
     
    2
    3
    1 10
    5 5
    7 7
    2
    1 1
    2 2
    Case #1: 2
    Case #2: 0

     

    Solution:

    vector<int> linesL;
    vector<int> linesR;
    
    int solve()
    {
        int L1, R1, L2, R2, is = 0;
        int count = (int)linesL.size();
        for (int i = 0; i < count; i++) {
            L1 = linesL[i]; R1 = linesR[i];
            for (int j = i; j < count; j++) {
                L2 = linesL[j]; R2 = linesR[j];
                
                if ((L1 < L2 && R1 > R2) || (L1 > L2 && R1 < R2)) {
                    is++;
                }
            }
        }
        
        return is;
    }
    
    int main()
    {
        freopen("in.in", "r", stdin);
        freopen("out.out", "w", stdout);
        
        int T;
        scanf("%d
    ", &T);
        if (!T) {
            cerr << "Check input!" << endl;
            exit(0);
        }
        
        for (int t = 1; t <= T; t++) {
            cerr << "solving: #" << t << " / " << T << endl;
            
            linesL.clear();
            linesR.clear();
            
            int lc;
            scanf("%d
    ", &lc);
            
            for (int l = 0; l < lc; l++) {
                int lL, lR;
                scanf("%d %d
    ", &lL, &lR);
                linesL.push_back(lL);
                linesR.push_back(lR);
            }
            
            auto result = solve();
            printf("Case #%d: %d
    ", t, result);
        }
        
        fclose(stdin);
        fclose(stdout);
        return 0;
    }

  • 相关阅读:
    (续)在深度计算框架MindSpore中如何对不持续的计算进行处理——对数据集进行一定epoch数量的训练后,进行其他工作处理,再返回来接着进行一定epoch数量的训练——单步计算
    YAML文件简介
    训练集验证集测试集的概念
    泛化误差
    drawio的打开方法
    移动硬盘无法被电脑识别
    r5 3600相当于英特尔什么级别
    Ubuntu WPS字体缺失配置
    pytorch深度学习cpu占用太高
    常用的架构设计原则-云原生架构设计快速入门
  • 原文地址:https://www.cnblogs.com/fatlyz/p/3678805.html
Copyright © 2011-2022 走看看