結果
問題 | No.227 簡単ポーカー |
ユーザー |
|
提出日時 | 2024-10-25 12:33:59 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,542 bytes |
コンパイル時間 | 1,165 ms |
コンパイル使用メモリ | 99,188 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-25 12:34:01 |
合計ジャッジ時間 | 2,132 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 14 |
ソースコード
#include <iostream>#include <algorithm>using namespace std;#define rep(i,n) for(int i = 0; i < n; i++)int main(void){// Your code here!string s[] = {"FULL HOUSE","THREE CARD","TWO PAIR","ONE PAIR"};int a[5];int p1 = 0,p2 = 0;for(int i = 0; i < 5; i++) cin >> a[i];sort(a,a + 5);int b = 0,c = 0;rep(i,5){if(i == 0){b = a[i];c = 1;} else {if(b == a[i]) {c++;} else {if(p1 >= p2){if(p2 < c)p2 = c;} else {if(p1 < c)p1 = c;}c = 1;b = a[i];}}if(i == 4) {if(p1 >= p2){if(p2 < c)p2 = c;} else {if(p1 < c)p1 = c;}c = 1;b = a[i];}}if(p1 == 0)p1 = c;if(p2 == 0)p2 = c;bool two = false, thr = false;if(p1 >= 2 || p2 >= 2) {if(p1 == 2 || p2 == 2)two = true;if(p1 == 3 || p2 == 3)thr = true;if(two && thr)cout << "FULL HOUSE";else if(p1 == 2 && p2 == 2)cout << "TWO PAIR";else if(thr)cout << "THREE CARD";else if(two)cout << "ONE PAIR";else cout << "NO HAND";} else {cout << "NO HAND";}}