bug代码

#include <iostream>
#include <cmath>
#include <queue>
#include <stack>
#include <vector>
#include <map>
#include <algorithm>
#include <set>
using namespace std;
map<int,vector<pair<int,int>>> qj;
map<int,vector<pair<int,int>>> d_u_p[1002];
bool cmp(pair<int,int>a ,pair<int,int> b)
{
    return (a.first)<(b.first);
}

int main()
{
    int n;
    cin>>n;
    int ri,mi;
    for(int i=0;i<n;i++)
    {
        cin>>ri>>mi;
        int p_odr;
        for(int ii=0;ii<ri;ii++ )
        {
            cin>>p_odr;
            // if(qj[p_odr].size()>0)
            //     if(ii>qj[p_odr].back().second)
            //     qj[p_odr].push_back(make_pair(ii,ii+7));
            //     else
            //     qj[p_odr].back().second=ii+7;
            // else
            qj[p_odr].push_back(make_pair(ii,ii+7));
        }
        int d,u,r;
        for(int ii=0;ii<mi;ii++)
        {
            cin>>d>>u>>r;
            if(d>=0)
            d_u_p[i][d].push_back(make_pair(u,r));
        }
    }
    for(map<int,vector<pair<int,int>>>::iterator it=qj.begin();it!=qj.end();it++)
    {
        vector<pair<int,int>> v=(*it).second;
        int s=v.size();
        for(vector<pair<int,int>>::iterator j=(*it).second.begin();j!=(*it).second.end()&&(j+1)!=(*it).second.end();j++)
        {
            if((*j).second>=(*(j+1)).first)
            {
                (*j).second=(*(j+1)).second;
                (*it).second.erase(j+1);
            }
            else
            ;
        }
    }
    vector<vector<int>> us(n);
    for(int k=0;k<n;k++)
    {
        for(map<int,vector<pair<int,int>>>::iterator it=d_u_p[k].begin();it!=d_u_p[k].end();it++)
        {
            int day=(*it).first;
            for(vector<pair<int,int>>::iterator j=(*it).second.begin();j!=(*it).second.end();j++)
            {
                vector<pair<int,int>> v(qj[j->second]);
                for(int i=0;i<v.size();i++)
                {
                    if(day>=v[i].first&&day<v[i].second&&k>=v[i].first&&k<v[i].second)
                    {
                        for(int iii=k;iii<day<v[i].second;iii++)
                        us[iii].push_back(j->first);
                    }
                }
            }
        }
    }
    for(int i=0;i<us.size();i++)
    {
        sort(us.begin(),us.end());
        cout<<i<<" ";
        for(int ii=0;ii<us[i].size();ii++)
        {
            cout<<us[i][ii]<<" ";
        }
        cout<<endl;
    }
    system("pause");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_51691526/article/details/129635945
bug