Pagini recente » Cod sursa (job #2318345) | Cod sursa (job #1225521) | Cod sursa (job #2377097) | Cod sursa (job #3020) | Cod sursa (job #1444584)
#include<fstream>
using namespace std;
ifstream f("harta.in");
ofstream g("harta.out");
#define nmax 111
int n,in[nmax],cnt,out[nmax],mat[nmax][nmax],nr[nmax];
int a1,a2;
int main()
{
f>>n;
for(int i=1;i<=n;++i)
{
f>>out[i]>>in[i];
cnt+=in[i];
}
g<<cnt<<'\n';
for(int i=1;i<=n;++i)
{
for(int j=1;j<=n;++j) nr[j]=0;
for(int j=1;j<=n;++j)
if(i!=j&&in[j])
mat[in[j]][++nr[in[j]]]=j;
for(int j=n;j>0;--j)
{
a1=nr[j];
while(out[i]&&a1)
{
a2=mat[j][a1];
a1--;
out[i]--;
in[a2]--;
g<<i<<' '<<a2<<'\n';
}
}
}
}