Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ьнпкфзр
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 5
#1

По итогам MCA турнира составить итоговую таблицу - C++

16.02.2013, 15:48. Просмотров 426. Ответов 7
Метки нет (Все метки)

Согласно регламенту каждая задача оценивается определённым количеством баллов. Правильно решённая задача даёт команде именно столько баллов. Выигрывает команда, набравшая наибольшее количество баллов. Если две или более команд набирают одинаковое количество баллов, то выигрывает команда, решившая наименьшее количество задач. Если и таких команд оказывается несколько, то выигрывает команда, имеющая наименьшее количество сдач (как успешных, так и безуспешных). Если по-прежнему победитель не определился, то выигрывает команда с наименьшим номером. Ваша задача - по итогам MCA турнира составить итоговую таблицу.

Входные данные
В первой строке содержатся два целых числа T - количество команд и P - количество задач (1 ≤ T ≤ 10, 1 ≤ P ≤ 10). Команды пронумерованы от 1 до T, задачи названы первыми P заглавными буквами латинского алфавита. Во второй строке записаны P целых чисел из отрезка [1,100] - количество баллов, которым оценены задачи. Третья строка содержит одно целое число S (1 ≤ S ≤ 200) - суммарное количество сдач за время турнира. В следующих S строках записаны результаты сдач в формате
<номер команды> <код задачи> A|R
буква A (Accepted) означает, что задача принята, буква R (Rejected) означает, что задача не принята. Данные в этих строках разделены ровно одним пробелом.

Выходные данные

Запишите итоговую таблицу турнира. Таблица должна занимать T строк, в каждой из которых должен быть записан номер команды и набранное командой количество баллов.
вход
2 2
5 10
3
1 B A
2 B A
1 A R
выход
2 10
1 10
вход
2 3
5 5 10
3
1 A A
1 B A
2 C A
выход
2 10
1 10
вход
3 3
5 5 5
5
1 A A
1 B R
2 B A
2 C R
3 C A 3 5
выход
1 5
2 5
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2013, 15:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос По итогам MCA турнира составить итоговую таблицу (C++):

Составить итоговую таблицу шахматного турнира - C#
Помогите с заданием Перепечайте текст задания на форум

собрать итоговую таблицу из одинаковых таблиц - MS Access
Помогите плиз,решить такую задачу: Имеются 3 таблицы, совершенно одинаковых , но с разными данными , т.е. табл.1 Наименование...

Подскажите на чем и как можно сделать итоговую таблицу - Базы данных
Подскажите на чем и как можно сделать итоговую таблицу Сущесствует 3Excel файла которые формируются из нескольких dbf файлов т.е. ...

Посчитали несколько данных, как вывести это в итоговую таблицу? - C#
ввожу с клавиатуры данные и считаю для трех разных людей, как в конце вывести данные для всех сразу в таблицу? ТИпа: Фамилия ...

Как сохранять данные из вводной формы в итоговую общую таблицу - MS Excel
Добрый вечер! Хотела бы заранее извиниться за свои знания в области excel, а также за тот объем помощи, который я у вас запрашиваю... ...

Сбор данных с разных xls таблиц в одну итоговую таблицу - VBA
Написан скрипт для сбора данных с разных xls таблиц в одну итоговую таблицу, но почему в итоговой таблице не выводит, подскажите что не так...

7
Maxim Prishchepa
Эксперт С++
1924 / 1036 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
16.02.2013, 16:01 #2
может за вас ещё и сдать пойти? давайте промежуточные варианты, что не получается?
0
Van111
211 / 190 / 4
Регистрация: 03.08.2011
Сообщений: 2,610
Записей в блоге: 12
16.02.2013, 16:20 #3
Цитата Сообщение от l_a_m Посмотреть сообщение
может за вас ещё и сдать пойти? давайте промежуточные варианты, что не получается?

Не по теме:

тролите новичков - ленивцев?

1
Maxim Prishchepa
Эксперт С++
1924 / 1036 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
16.02.2013, 16:24 #4
Цитата Сообщение от Van111 Посмотреть сообщение
тролите новичков - ленивцев?

Не по теме:

ну грех же мимо пройти

0
ьнпкфзр
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 5
16.02.2013, 16:40  [ТС] #5
проблема в многоуровневой сортировке которую, очевидно, необходимо применить.
0
Kgfq
16.02.2013, 17:17
  #6

Не по теме:

ьнпкфзр, а сами-то пробовали? Думается мне, что нет. Кстати, забавный ник.

0
ьнпкфзр
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 5
16.02.2013, 17:58  [ТС] #7
Конечно, пробовал.
Организовал все через pair<int, int>, однако ввиду моей некомпетентности(первый раз пользуюсь данной структурой) программа рантаймится после ввода 3 строки(перед считыванием 3 стр. первый раз использую структуру).
pair<кол-во балов, № команды> остальные данные в виде массивов(кол-во посылок, кол-во успешных посылок).
Однако, код не приведен потому что запостив эту задачу мне прежде всего хотелось бы узнать альтернативное решение без использования вспомогательных функций типа pair.
0
avfed
15 / 13 / 2
Регистрация: 24.01.2013
Сообщений: 23
16.02.2013, 19:21 #8
у меня вот такое получилось, вроде как даже работает
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
#include <iostream>
 
using namespace std;
 
struct comm
{
    int number;
    int trys;
    int score;
    comm(){number=0;trys=0;score=0;}
};
 
int main()
{
    int t,p;
    int i;
    cin >>t>>p;
    int *balls=new int[p];
    comm *bs=new comm[t];
    for (i=0;i<p;i++)
    {
        cin>>balls[i];
    }
    int s;
    cin >>s;
    int number;
    char task,res;
    for (i=0;i<s;i++)
    {
        cin>>number>>task>>res;
        bs[number-1].trys++;
        bs[number-1].number=number;
        if (res=='A')
        {
            bs[number-1].score+=balls[(int)(task-'A')];
        }
    }
 
    bool flag=true;
    comm temp;
    while(flag)
    {
        flag = false;
        for (i=1;i<t;i++)
        {
            if (bs[i].score>bs[i-1].score||bs[i].trys<bs[i-1].trys)
            {
                temp=bs[i];
                bs[i]=bs[i-1];
                bs[i-1]=temp;
                flag = true;
            }
        }
    }
 
    for (i=0;i<t;i++)
    {
        cout<<bs[i].number<<" "<<bs[i].score<<endl;
    }
    delete []balls;
    delete []bs;
 
    return 0;
}
1
16.02.2013, 19:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2013, 19:21
Привет! Вот еще темы с ответами:

Составить итоговую ведомость - VBA
Нашла такой код, но не знаю как его изменить под мою ведомость. Подходит ли он мне или же нужно совсем другое? Помогите, пожалуйста. ...

Составить расписание турнира - Lisp
задача про теннисный клуб. даны 3 мальчика нужно чтобы каждый играл, но пары не повторились. расписание игр (без списков)

Составить расписание турнира - Prolog
задача про теннисный клуб. даны 3 мальчика нужно чтобы каждый играл, но пары не повторились. расписание игр (без списков)

Составить список участников турнира по шахматам согласно порядку занятых мест - Pascal ABC
Не подскажите как организовать допустим &quot;порядок занятых мест&quot;? все результаты введены в базу данных, требуется вывести всю информацию из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru