結果
| 問題 |
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;
}
}
}
}