Cod sursa(job #1920032)
Utilizator | Silas 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;
}