Pagini recente » Cod sursa (job #1957152) | Cod sursa (job #2757688) | Cod sursa (job #3293654) | Cod sursa (job #1304609) | Cod sursa (job #2951235)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("harta.in");
ofstream fout("harta.out");
const int N_MAX = 105;
int N;
pair<int, int> v[N_MAX], used[N_MAX];
int G[N_MAX][N_MAX];
int Ans, target;
int main()
{
srand(time(NULL));
fin >> N;
for (int i = 1; i <= N; i++) {
fin >> v[i].first >> v[i].second;
target += v[i].first + v[i].second;
}
target /= 2;
while (target != Ans) {
int x, y;
x = rand() % N + 1;
do {
y = rand() % N + 1;
} while (x == y);
if (v[x].first > 0 && v[y].second > 0) {
v[x].first--;
v[y].second--;
G[x][y] = 1;
Ans++;
}
}
fout << Ans << "\n";
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) {
if (G[i][j]) {
fout << i << " " << j << "\n";
}
}
}
return 0;
}