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

Обсуждение задачи 1024. Перестановки

TLE 11
Послано pmi003 1 фев 2011 17:35
HELP!!!






#include <iostream>

using namespace std;

int main()
{
    int const N=1024;
    int n, a[N], b[N], P=1;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        b[i]=a[i];
    }


    for(;;)
    {
        int s=0;
        for(int i=0;i<n;i++)
            if(a[i]==i+1)
                s++;

        if(s==n)
            break;

        else
        {
            P++;
            for(int j=0;j<n;j++)
                a[j]=b[a[j]-1];
        }
    }

    cout<<P<<endl;



    return 0;
}