Pagini recente » Cod sursa (job #2121021) | Cod sursa (job #742119) | Cod sursa (job #1302577) | Cod sursa (job #1443116) | Cod sursa (job #365447)
Cod sursa(job #365447)
#include <fstream>
using namespace std;
int n;
struct
{
int in,out;
} A[101];
bool M[101][101];
void read()
{
ifstream f("harta.in");
int i;
f>>n;
for(i=1;i<=n;i++)
f>>A[i].out>>A[i].in;
}
void solve()
{
ofstream g("harta.out");
int i,j,m=0;
for(i=1;i<=n;i++)
for(j=1;j<=n&&A[i].out;j++)
{
if(i==j) continue;
if(A[j].in&&!M[j][i]) //daca pot sa bag o muchie spre j
{
m++;
M[i][j]=true;
--A[i].out;
--A[j].in;
}
}
g<<m<<endl;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(M[i][j])
g<<i<<" "<<j<<endl;
}
int main()
{
read();
solve();
}