Pagini recente » Cod sursa (job #651829) | Cod sursa (job #1228689) | Cod sursa (job #1265603) | Cod sursa (job #1364082) | Cod sursa (job #2130009)
#include <fstream>
#include <algorithm>
#define DIM 101
using namespace std;
ifstream fin ("harta.in");
ofstream fout("harta.out");
int i, j, n, f[DIM], c[DIM],sum;
vector< pair<int, int> > sol;
int main(){
fin>>n;
for(i=1;i<=n;i++)
{
fin>>f[i]>>c[i];
sum+=c[i];
}
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n&&f[i]>0;j++)
if(c[j]>0)
{
sol.push_back(make_pair(i, j));
c[j]--;
f[i]--;
}
for(j=1;j<i&&f[i]>0;j++)
if(c[j]>0)
{
sol.push_back(make_pair(i, j));
c[j]--;
f[i]--;
}
}
if(sum<sol.size())
fout<<1000/0;
fout<<sol.size()<<"\n";
for(i=0;i<sol.size();i++)
fout<<sol[i].first<<" "<<sol[i].second<<"\n";
return 0;
}