Cod sursa(job #1920032)

Utilizator danysilas23Silas Daniel danysilas23 Data 9 martie 2017 22:10:04
Problema Taramul Nicaieri Scor 100
Compilator cpp Status done
Runda becreative30 Marime 0.54 kb
#include <fstream>
#include <cstring>
using namespace std;
int n,m,i,j,k,od,a[101],b[101],q[101],l[101][101];
ifstream r("harta.in");
ofstream w("harta.out");
int main(){
 r>>n;
 for(i=1;i<=n;++i){
        r>>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;
}