Форум программистов, компьютерный форум CyberForum.ru

На очередной ночной вечеринке факультета студенты в количестве N человек решили порассказывать байку из K слов и для этого сели в один круг вокруг кос - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача по дискретной математике (написать программу для расшифровки числового ребуса) http://www.cyberforum.ru/cpp-beginners/thread882594.html
Надо написать программу для расшифровки числового ребуса: ссср=рф Если честно, я чёт даже не пойму чего от меня требуют. (У нас училка которая вела на больничном, её заменяют...) Добавлено через 1 час 15 минут Итак, так как я не дождался информации, то за это время я успел слепить вот это: #include "stdafx.h" #include <iostream> #include <math.h>
C++ Строки.Массивы.Верните слово по его индексу (индекс первого слова равен 0) Задание Дан многострочный текст (char text). Верните слово по его индексу (индекс первого слова равен 0). Слово – это непрерывная последовательность букв и/или цифр. Разделителями слов могут быть любые другие символы. Исходный текст не модифицировать. Формат входных данных. и т.д. M – кол-во строк в тексте, целое число в диапазоне . Индекс слова - целое число в диапазоне . Формат выходных... http://www.cyberforum.ru/cpp-beginners/thread882592.html
C++ Символьный массив
Описать символьный массив L,размерностью M элементов,заполнять массив с клавиатуры.Вывести элементы массива в несколько строк по пять элементов в строке. ПОМОГИТЕ ПОЖАЛУЙСТААА си++ Будьте внимательны при выборе раздела форума
Сортировка методом пузырька C++
Есть ф-ця void bulb (olimpiads** list) в какой метод пузырька, но он у меня не получаеться можете помочь решить проблему что бы оно сортировало по балам за олимпиаду #include <stdio.h> #include <locale> # define swap(A,B) {A=A^B;B=A^B;A=A^B;} struct olimpiads { char name ;
C++ Литература по программированию http://www.cyberforum.ru/cpp-beginners/thread882576.html
Всем привет! Подскажите пожалуйста годную литературу по программированию. Не по языкам, а по именно стилю, как грамотно составлять программы(например, перед написанием программы нужно ли уже знать как она работает или придумывать все по ходу). Я сейчас знаю только Си, и всего лишь могу быдлокодить немного.
C++ переделать программу Программа на функции. Нужно переделать программу на объект параметр функции. Как это делается? Не получается. #include <iostream> #include <cmath> using namespace std; float arctg(float x) { return (); подробнее

Показать сообщение отдельно
sm1992
2 / 2 / 0
Регистрация: 27.05.2013
Сообщений: 8
28.05.2013, 20:55     На очередной ночной вечеринке факультета студенты в количестве N человек решили порассказывать байку из K слов и для этого сели в один круг вокруг кос
Входной файл: input.txt
Выходной файл: output.txt
Время на тест: 9 секунд
На очередной ночной вечеринке факультета студенты в количестве N человек решили порассказывать байку из K слов и для этого сели в один круг вокруг костра. Каждый человек называет по одному слову из байти. Человек, сказавший последнее слово байки уходит и рассказ повторяется со следующего за ним человека с самого начала. Первый рассказ начинается с первого человека, рассказ и нумерация людей - в порядке рассадки по часовой стрелке. Вам необходимо выяснить, кто останется последним?

Формат входного файла:

В первой строке входного файла input.txt записаны два целых числа N и K через один пробел - количество студентов и количество слов в байке, соответственно. Ограничения на значения: 1≤N≤100000, 0≤K≤1000000000. Гарантируется, что для предложенного набора данных результат всегда существует. Каждая строка заканчивается переходом на новую строку.
Формат выходного файла:

В первую строку выходного файла output.txt необходимо вывести без пробелов число X - номер оставшегося человека по исходной нумерации.

Пример ввода:

7 2
Пример вывода:

7



вот мой код работает слишком долго нужно ускорить хотябы в 3 разы


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include<stdio.h>
#include<iostream>
using namespace std;
struct och
{
    long per;
    long znach;
    long sled;
};
och *mass;
FILE *fp;
long N,K,p, ns;
long adres1, adres2=0;
int main()
{
    fp=fopen("input.txt","r");
    fscanf(fp,"%d",&N);
    fscanf(fp,"%d",&K);
    fclose(fp);
    long i=1;
    mass=new och[N];
    mass[0].per=N-1;
    mass[0].sled=1;
    mass[0].znach=0;
    for (i=1;i<N-1;i++)
    {
 
        mass[i].per=i-1;
        mass[i].sled=i+1;
        mass[i].znach=i;
 
    }
    mass[N-1].per=N-2;
    mass[N-1].sled=0;
    mass[N-1].znach=N-1;
    ns=N;
    while (mass[adres2].sled!=mass[adres2].znach)
    {
        if (K>ns)
        {
            long l=K/ns;
            p=K-(ns*l);
            if (p==0)
                p=ns;
        //  cout<<ns<<endl<<l<<endl<<p<<endl;
        //  system("Pause");
        }
        else
            p=K;
        adres1=adres2;
        for (long t=0;t<p-1;t++)
        {
            adres1=mass[adres1].sled;
        }
        mass[mass[adres1].per].sled=mass[adres1].sled;
        mass[mass[adres1].sled].per=mass[adres1].per;
        adres2=mass[adres1].sled;
        ns--;
    }
    fp=fopen("output.txt","w");
    fprintf(fp,"%d \n",mass[adres2].znach+1);
    fclose(fp);
    //cout<<mass[mass[adres2].per].znach+1<<endl<<mass[mass[adres2].sled].znach<<endl;
//  system("Pause");
    return 0;
}
может предложите свой вариант????
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru