Pagini recente » Rating Armanca Darius (DariusA) | Monitorul de evaluare | Cod sursa (job #1213540) | Monitorul de evaluare | Cod sursa (job #2487725)
#include <bits/stdc++.h>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
bool comp(pair<int,int> fi,pair<int,int> se){
if(fi.second>se.second)
return false;
return true;
}
int main()
{
int n,k;
f>>n>>k;
pair<int,int> p[k+1];
for(int i=1;i<=k;i++)
{
int in,ul;
f>>in>>ul;
p[i].first=in;
p[i].second=ul;
}
pair<int,int> grad[n+1];
for(int i=1;i<=n;i++)
{
int marime=0;
for(int j=1;j<=k;j++)
if(i==p[j].second)
marime++;
grad[i].first=i;
grad[i].second=marime;
}
sort(grad+1,grad+n+1,comp);
for(int i=1;i<=n;i++)
{
g<<grad[i].first<<" ";
bool verif[n+1]={false};
for(int t=1;t<=k;t++)
if(grad[i].first==p[t].first&&!verif[p[t].second])
{
verif[p[t].second]=true;
for(int u=1;u<=n;u++)
if(grad[u].first==p[t].second)
grad[u].second--,u=n+1;
}
sort(grad+i+1,grad+n+1,comp);
}
return 0;
}