Pagini recente » Cod sursa (job #916708) | Cod sursa (job #2784873) | Cod sursa (job #717171) | Cod sursa (job #2375164) | Cod sursa (job #2467365)
#include <iostream>
#include <fstream>
#include <deque>
#include <set>
using namespace std;
ifstream fin("ghizi.in");
ofstream fout("ghizi.out");
set <int> s,s2;
int n,k;
int main()
{
fin>>n>>k;
for(i=1; i<=n; i++)
{
fin>>x>>y;
L[x].push_back({y,i});
}
for(i=0; i<L[0].size(); i++)
{
d[L[0][i].first].push_back(L[0][i].second);
}
for(i=1; i<100; i++)
{
if(d[i].size()!=0)
{
for(j=0; j<L[i].size(); j++)
d[L[i][j].first].push_back(L[i][j].second);
}
}
while(k)
{
s2.clear();
p=100;
ok=1;
while(p && ok)
{
if(d[p].size()>0)
{
s2.insert(d[p][d.size()-1]);
p=v[d[p][d.size()-1]].first;
d.pop_back();
}
else
ok=0;
}
if(ok){
for(auto it=s2.begin();it!=s2.end();it++){
s.insert(*it);
}
}
}
for(auto it=s.begin();it!=s.end;it++){
fout<<*it<<" ";
}
}