关注
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
char s[103];
int cnt, a[5], num[7], res[1003], tot;
bool vis[11];
void dfs(int cur) {
res[tot++] = cur;
cur *= 10;
for(int i = 0; i < cnt; ++i) {
if(!vis[num[i]]) {
vis[num[i]] = true;
if(num[i] == 2) {
vis[5] = true;
}
else if(num[i] == 5) {
vis[2] = true;
}
else if(num[i] == 6) {
vis[9] = true;
}
else if(num[i] == 9) {
vis[6] = true;
}
dfs(cur + num[i]);
vis[num[i]] = false;
if(num[i] == 2) {
vis[5] = false;
}
else if(num[i] == 5) {
vis[2] = false;
}
else if(num[i] == 6) {
vis[9] = false;
}
else if(num[i] == 9) {
vis[6] = false;
}
}
}
}
int solve() {
if(strlen(s) != 5 || s[1] != ',' || s[3] != ',') {
return -1;
}
cnt = tot = 0;
memset(vis, false, sizeof(vis));
for(int i = 0; i < 3; ++i) {
a[i] = s[i << 1] - '0';
if(a[i] <= 0 || a[i] > 9 || vis[a[i]]) {
return -1;
}
else {
vis[a[i]] = true;
num[cnt++] = a[i];
if(a[i] == 2) {
vis[5] = true;
num[cnt++] = 5;
}
else if(a[i] == 5) {
vis[2] = true;
num[cnt++] = 2;
}
else if(a[i] == 6) {
vis[9] = true;
num[cnt++] = 9;
}
else if(a[i] == 9) {
vis[6] = true;
num[cnt++] = 6;
}
}
}
memset(vis, false, sizeof(vis));
dfs(0);
sort(res, res + tot);
if(tot < cnt) {
return res[tot - 1];
}
sort(a, a + 3);
return res[a[2]];//因为最初放入了0,所以不用-1
}
int main() {
while(1 == scanf("%s", s)) {
printf("%d\n", solve());
}
return 0;
}
我做的比较繁琐吧,坐等大神更简洁的代码
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 春招/暑实第一面是哪家? #
7320次浏览 107人参与
# 面试官最爱问的 AI 问题是...... #
5112次浏览 186人参与
# 如何一边实习一边找下家? #
5047次浏览 55人参与
# 面试官问过你最刁钻的问题是什么? #
75286次浏览 466人参与
# 你收到了哪些公司的笔试? #
7582次浏览 37人参与
# 机械制造面试点评 #
90439次浏览 482人参与
# 跟HR说什么能被秒回? #
2799次浏览 51人参与
# 把自己当AI,现在最消耗你token的问题是什么? #
624次浏览 20人参与
# 你的嫡系AI是哪个? #
1336次浏览 40人参与
# 你现在的工作,是“成长”还是“消耗”? #
5110次浏览 81人参与
# 现在入门AI应该走哪些方向? #
1302次浏览 33人参与
# 你认为小厂实习有用吗? #
128341次浏览 707人参与
# 找不到好工作选择GAP真的丢人吗 #
102559次浏览 1020人参与
# 如何排解工作中的焦虑 #
282719次浏览 2552人参与
# 上班到公司第一件事做什么? #
150268次浏览 1055人参与
# 淘天集团工作体验 #
12731次浏览 59人参与
# 机械人选offer,最看重什么? #
165898次浏览 810人参与
# 金三银四,你的春招进行到哪个阶段了? #
19750次浏览 266人参与
# 追觅科技求职进展汇总 #
35870次浏览 190人参与
# 滴滴笔试 #
39045次浏览 215人参与
