Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 06.03.2017
Сообщений: 109
1

Задача про покер

16.11.2017, 21:53. Просмотров 1738. Ответов 2
Метки нет (Все метки)


На сайте e-olymp проходит 97%. Где ошибка? Пишет, что третий тест не проходит, хотя у меня все работает.
https://www.e-olymp.com/ru/submissions/3711034

Даны 5 целых чисел. Среди них:

если одинаковы 5, то вывести "Impossible", иначе
если одинаковы 4, то вывести "Four of a Kind", иначе
если одинаковы 3 и 2, то вывести "Full House", иначе
если есть 5 последовательных, то вывести "Straight", иначе
если одинаковы 3, то вывести "Three of a Kind", иначе
если одинаковы 2 и 2, то вывести "Two Pairs", иначе
если одинаковы 2, то вывести "One Pair", иначе
вывести "Nothing".
Входные данные

В первой строке находятся 5 чисел (от 1 до 13 включительно) через пробел.

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

Выводится одна строка - результат анализа.

Входные данные
Sample 1
1 3 9 3 2

Sample 2
1 5 5 4 4

Sample 3
1 5 2 4 3

Sample 4
10 11 12 13 1
Выходные данные
Sample 1
One Pair

Sample 2
Two Pairs

Sample 3
Straight

Sample 4
Nothing

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
#include <bits//stdc++.h>
using namespace std;
int main()
{
int k2=0,k3=0,k4=0,k5=0,h=0;
  map<int,int> m;
  map<int,int>::iterator it;
  int n=5;
  int a[n];
     for(int i=0;i<n;i++)
    {
    cin>>a[i]; 
}
for(int i=0;i<n;i++)
{
    sort(a,a+n);
    m[a[i]]++;
}
    while(!m.empty())
    {      
     if(m.begin()->second==2) k2++;
     if(m.begin()->second==3) k3++;
     if(m.begin()->second==5) k5++;
     if(m.begin()->second==4) k4++;
     m.erase(m.begin());
    }
    if(k5==1) cout<<"Impossible";
    else if(k4==1) cout<<"Four of a Kind";
    else if(k3==1 && k2==1) cout<<"Full House";
    else if(k3==1 && k2==0) cout<<"Three of a Kind";
    else if(k2==2) cout<<"Two Pairs";
    else if(k2==1) cout<<"One Pair";
    for(int i=0;i<n;i++)
        {
            if(a[i]==a[i-1]+1 && a[i+1]==a[i]+1) h++;
        }
   if((k2==0 && k3==0 && k4==0 && k5==0) && h==3) cout<<"Straight";
   else if((k2==0 && k3==0 && k4==0 && k5==0) && h<3) cout<<"Nothing";
      return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2017, 21:53
Ответы с готовыми решениями:

Задача Покер
Даны 5 целых чисел. Среди них: если одинаковы 5, то вывести &quot;Impossible&quot;, иначе если одинаковы...

Задача Покер
Даны 5 целых чисел. Среди них: если одинаковы 5, то вывести &quot;Impossible&quot;, иначе если одинаковы...

Тема про игру в покер.
Здравствуйте! Не нашел более подходящего раздела для постинга. У меня специфическая беда :( Если...

Задача про взлом кода из книги Эрика Фримена про основы javascript в конце 5 главы.
читаю книгу Эрика Фримена про основы javascript.В конце 5 главы есть задачка про взлом кода.Никак...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
2
1714 / 605 / 187
Регистрация: 12.03.2016
Сообщений: 2,188
16.11.2017, 22:29 2
строка 35. При i = 0 какой получаем индекс в a[i-1] ?
1
0 / 0 / 0
Регистрация: 06.03.2017
Сообщений: 109
16.11.2017, 23:11  [ТС] 3
мановар, я поняла, спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2017, 23:11

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Олимпиадная задача "покер"
всем привет) есть задачка: Формат входный данных: Программа получает на вход 5 целых...

Задача на перебор вариантов. Задача Л.Эйлера. Про чиновника
Задача Л.Эйлера. Некий чиновник купил лошадей и быков на сумму 1770 талеров. За каждую лошадь он...

Задача про IP
Простите что не совсем в тему , но у меня ответ 97.15.81.53/15 , но говорят это неправильно ...

Задача про доски
Помогите решить задачку: Имеется N досок разной длины. Из них нужно выпилить K одинаковых досок...


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

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

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