結果
問題 | No.832 麻雀修行中 |
ユーザー |
|
提出日時 | 2020-11-30 14:01:32 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 58 ms / 2,000 ms |
コード長 | 1,296 bytes |
コンパイル時間 | 860 ms |
コンパイル使用メモリ | 96,220 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-13 02:20:54 |
合計ジャッジ時間 | 3,769 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 25 |
ソースコード
#include <iostream> #include <string> #include <algorithm> #include <vector> #include <iomanip> #include <cmath> #include <stdio.h> #include <queue> #include <deque> #include <cstdio> #include <set> #include <map> #include <bitset> #include <stack> #include <cctype> using namespace std; int co[10] = {}; bool bo = false; void m(vector<int> v) { int co1 = 0; for (int i = 1; i <= 9; i++) { co1 += v[i]; } if (co1 == 12) { for (int i = 1; i <= 9; i++) { v[i] += 2; bool bo1 = true; for (int j = 1; j <= 9; j++) { if (v[j] != co[j]) { bo1 = false; } } if (bo1) { bo = true; } v[i] -= 2; } return; } for (int i = 1; i <= 9; i++) { v[i] += 3; m(v); v[i] -= 3; } for (int i = 1; i <= 7; i++) { v[i]++; v[i + 1]++; v[i + 2]++; m(v); v[i]--; v[i + 1]--; v[i + 2]--; } } int main() { string s; cin >> s; for (int i = 0; i < 13; i++) { co[int(s[i] - '0')]++; } for (int i = 1; i <= 9; i++) { bo = false; if (co[i] != 4) { co[i]++; vector<int> vec(10); for (int j = 1; j <= 9; j++) { vec[j] = 0; } m(vec); int co2 = 0; for (int j = 1; j <= 9; j++) { if (co[j] == 2) { co2++; } } if (co2 == 7) { bo = true; } co[i]--; if (bo) { cout << i << endl; } } } }