#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;
}
bug代码
最新推荐文章于 2024-10-04 15:28:16 发布