Pagini recente » Cod sursa (job #1800840) | Cod sursa (job #168751) | Cod sursa (job #886006) | Cod sursa (job #2843344) | Cod sursa (job #2153302)
#include <fstream>
#define nmax 102
using namespace std;
ifstream fin("harta.in");
ofstream fout("harta.out");
int po1[nmax],po2[nmax],a[nmax][nmax];
int main()
{
int n,s=0;
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>po1[i]>>po2[i];
s+=po1[i];
}
fout<<s<<"\n";
for(int i=1;i<=n;i++)
{
if(po1[i])
{
for(int j=1;po1[i]&&j<=n;j++)
{
if(j==i)
continue;
if(po2[j]&&!a[i][j])
{
a[i][j]=1;
fout<<i<<" "<<j<<"\n";
po2[j]--;
po1[i]--;
}
}
}
if(po2[i])
{
for(int j=n;po2[i]&&j;j--)
{
if(j==i)
continue;
if(po1[j]&&!a[j][i])
{
a[j][i]=1;
fout<<j<<" "<<i<<"\n";
po1[j]--;
po2[i]--;
}
}
}
}
return 0;
}