1 条题解
-
0
C++ :
#include<iostream> #include<algorithm> #include <vector> #include<string.h> #include<string> #include<ctype.h> #include<cmath> #include <queue> using namespace std; char str[100]; int num[10]; int len,sum; bool dfs(int sum) { if(sum > 31) return 0; for(int i = 1; i <= 6; ++i) { if(num[i] && sum+i<=31) { --num[i]; if(dfs(sum+i) == 0) { ++num[i]; return 1; } ++num[i]; } } return 0; } void solve(); int main() { solve(); return 0; } void solve() { int i; while(scanf("%s",&str)!=EOF) { for(i = 1; i <= 6; ++i) num[i] = 4; len = strlen(str); sum = 0; for(i = 0; i < len; ++i) { --num[str[i]-'0']; sum += str[i]-'0'; } printf("%s ",str); if(dfs(sum)) puts(len&1 ? "B" : "A"); else puts(len&1 ? "A" : "B"); } }
- 1
信息
- ID
- 1674
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者