Pagini recente » Cod sursa (job #1659202) | Cod sursa (job #1249526) | Cod sursa (job #2885041) | Cod sursa (job #1672268) | Cod sursa (job #3156132)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 103;
int in[NMAX], out[NMAX];
int main() {
freopen("harta.in", "r", stdin);
freopen("harta.out", "w", stdout);
int n;
scanf("%d", &n);
int cnt = 0;
for(int i = 1; i <= n; i++) {
scanf("%d %d", &out[i], &in[i]);
cnt += out[i];
}
printf("%d\n", cnt);
for(int i = 1; i <= n; i++) {
vector<pair<int, int>> v;
for(int j = 1; j <= n; j++) {
v.push_back({in[j], j});
}
sort(v.begin(), v.end(), [](pair<int, int> a, pair<int, int> b) {
if(a.first == b.first)
return a.second > b.second;
return a.first > b.first;
});
for(int j = 0; j < n && out[i]; j++) {
if(v[j].second != j+1) {
printf("%d %d\n", i, v[j].second);
in[v[j].second]--;
out[i]--;
}
}
}
}