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

Обсуждение задачи 1106. Две команды

what's wrong?
Послано Ehcalahim 9 ноя 2016 23:56
what's wrong with this code:
#include <iostream>
#include <vector>
#include <list>
using namespace std;

int ar[102][102],viz[102];
int n;
list <int> a;
int dfs(int s)
{
    viz[s] = 1;
    for (int i=1;i<=n;i++)
    {

        if (ar[i][s] && !viz[i]) {dfs(i);  }//a.push_back(i);}
    }
    return 0;
}

int main()
{
    cin >> n;
    int z;
    for (int i=1;i<=n;)
    {
        cin >> z;
        if (z == 0) i++;
        else ar[i][z] = 1;
    }
    dfs(1);
    for (int i=1;i<=n;i++)
        if(!viz[i]) a.push_back(i);
    cout << a.size() << endl;
    for (int n : a) {
        cout << n << " ";
    }
    return 0;
}


maybe i didn't understand problem properly,some help?