ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1109. Конференция

Why this solution is wrong?
Послано Butusov Eugene [KubSU] 25 апр 2013 02:16
#include <iostream>
#include <vector>

using namespace std;

int M, N;

int A[30001];
int B[30001];

vector < pair <int, int> > edges;

int main()
{
    cin >> M >> N;
    int K;
    cin >> K;
    for (int i = 0; i < K; i++)
    {
        int a, b;
        cin >> a >> b;
        edges.push_back(make_pair(a, b));
        A[a]++;
        B[b]++;
    }
    int count = 0;
    for (int i = 0; i < edges.size(); i++)
    {
        if (A[edges[i].first] > 1 && B[edges[i].second] > 1)
        {
            count++;
            A[edges[i].first]--;
            B[edges[i].second]--;
        }
    }
    cout << K - count << endl;
    return 0;
}