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

Poker - C++

Войти
Регистрация
Восстановить пароль
 
mikador
0 / 0 / 0
Регистрация: 17.09.2011
Сообщений: 55
22.09.2011, 15:51     Poker #1
Даны 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 включительно.



Ввод 1 Ввод 2 Ввод 3 Ввод 4
1 3 9 3 2 1 5 5 4 4 1 5 2 4 3 10 11 12 13 1

Вывод 1 Вывод 2 Вывод 3 Вывод 4
One Pair Two Pairs Straight Nothing
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2011, 15:51     Poker
Посмотрите здесь:

Програмное приложение для online poker
Создание бота для приложения вконтакте ''Poker Shark"
Poker C++
Poker Dice Энди Харрис PHP
Delphi Помощь в проекте "Lite poker"
Создание онлайн приложения Poker

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
 Аватар для diagon
1921 / 1187 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
22.09.2011, 16:38     Poker #2
Есть быдлокод:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <cstdio>
#include <map>
#define f(b) freopen(#b"put.txt","a+",std##b);
int s, x;
int main(){
    f(in)
    f(out)
    std::map<int, int> m;
    for (s = 5; s--; ++m[x])
        scanf("%d", &x);
    if ( (s = m.size()) == 1) 
        puts("Impossible"); else
    if (s == 2)
         puts( ( x = m.begin()->second ) == 2 || x == 3 ? "Full House" : "Four of a Kind"); else
    if (s == 3) 
        puts( m.begin()->second != 3 &&
        (*--m.end()).second != 3  && 
        (*++m.begin()).second != 3 ? "Two Pairs" : "Three of a Kind"); else
    if (s == 4)
        puts("One Pair"); else
    if (s == 5)
        puts ((*--m.end()).first - m.begin()->first == 4 ? "Straight" : "Nothing");        
}
Ввод-вывод из input.txt/output.txt
Если надо из консоли - уберите 6 и 7 строку.
Yandex
Объявления
22.09.2011, 16:38     Poker
Ответ Создать тему
Опции темы

Текущее время: 03:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru