Cod sursa(job #479793)
Utilizator | zloteanu adrian nichita zloteanu.adrian | Data | 25 august 2010 13:02:46 |
---|---|---|---|
Problema | Taramul Nicaieri | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream>
#include <string.h>
using namespace std;
int n,m,i,j,k,od,a[101],b[101],q[101],l[101][101];
int main()
{ifstream in("harta.in");
ofstream w("harta.out");
in>>n;
for(i=1;i<=n;++i)
{in>>a[i]>>b[i];
m+=a[i];}
w<<m<<"\n";
for(i=1;i<=n;++i)
{memset(q,0,sizeof(q));
for(j=1;j<=n;++j)
if(b[j]&&i!=j)
{l[b[j]][++q[b[j]]]=j;}
for(j=n;j&&a[i];--j)
for(k=q[j];k&&a[i];--k)
{od=l[j][k];
a[i]--;
b[od]--;
w<<i<<" "<<od<<"\n";}}
return 0;}