zoukankan      html  css  js  c++  java
  • BZOJ 4143 The Lawyer

           这道题看起来很吓人,但事实上看懂后会发现,其根本没有任何技术含量,做这道题其实要考虑的就是每天最早结束的一场的结束时间以及最晚开始的一场的开始时间,如果结束时间早于开始时间,那么OK就这两场,否则输出无解,要注意的是,如果想在传入时就把每天分开,记得标记每一场的序号。

           代码如下:

    #include<cstdlib>
    #include<cstdio>
    #include<iostream>
     
    using namespace std;
     
    long long int i_day,i_huiyi,temp_1,temp_2,temp_3;
    long long int i_hui[21][500000][3];
    long long int i_nob[21];
    long long int i_min,nob_1,i_max=80000000,nob_2;
     
    int main()
    {
        cin>>i_huiyi;cin>>i_day;
        for(int i=0;i<i_huiyi;i++)
        {
            cin>>temp_1;cin>>temp_2;cin>>temp_3;
            i_hui[temp_3][i_nob[temp_3]][0]=temp_1;
            i_hui[temp_3][i_nob[temp_3]][1]=temp_2;
            i_hui[temp_3][i_nob[temp_3]][2]=i+1;
            i_nob[temp_3]++;
        }
        for(int i=1;i<=i_day;i++)
        {
            for(int m=0;m<i_nob[i];m++)
            {
                if(i_hui[i][m][0]>i_min)
                {
                    i_min=i_hui[i][m][0];
                    nob_1=i_hui[i][m][2];
                }
                if(i_hui[i][m][1]<i_max)
                {
                    i_max=i_hui[i][m][1];
                    nob_2=i_hui[i][m][2];
                }
            }
            if(i_min>i_max)
            {
                cout<<"TAK"<<" "<<nob_1<<" "<<nob_2<<endl;
                i_min=0;i_max=80000000;
            }
            else
            {
                cout<<"NIE"<<endl;
                i_min=0;i_max=80000000;
            }
        }
         
        return 0;
    }
    希望我的博客能对您有所帮助,谢谢。
  • 相关阅读:
    luogu_1168: 中位数
    luogu_4762: [CERC2014]Virus synthesis
    luogu_4287:双倍回文
    回文自动机学习笔记
    luogu_3645: 雅加达的摩天楼
    python爬今日头条(ajax分析)
    Python多进程multiprocessing.Pool()
    Python爬微博(ajax+mongo)
    python实用函数之join()
    python之tuple与list
  • 原文地址:https://www.cnblogs.com/szy-wlxy/p/4704956.html
Copyright © 2011-2022 走看看