关注
#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;
}
我做的比较繁琐吧,坐等大神更简洁的代码
查看原帖
点赞 评论
相关推荐
查看19道真题和解析
点赞 评论 收藏
转发
点赞 评论 收藏
转发
牛客热帖
正在热议
# 和牛牛一起刷题打卡 #
11879次浏览 959人参与
# 实习生应该准时下班吗 #
91115次浏览 695人参与
# 牛客帮帮团来啦!有问必答 #
1079082次浏览 16207人参与
# 通信硬件薪资爆料 #
253080次浏览 2378人参与
# 机械制造薪资爆料 #
350387次浏览 4115人参与
# 本周投递记录 #
219880次浏览 5367人参与
# 你收到了团子的OC了吗 #
528410次浏览 6267人参与
# 晒一晒我的offer #
3754563次浏览 57911人参与
# 你已经投递多少份简历了 #
336650次浏览 4890人参与
# 硬件人的简历怎么写 #
81659次浏览 847人参与
# 你怎么评价今年的春招? #
11367次浏览 181人参与
# 我发现了面试通关密码 #
380400次浏览 7013人参与
# 担心入职之后被发现很菜怎么办 #
38626次浏览 324人参与
# 我想象的工作vs实际工作 #
105228次浏览 1695人参与
# 春招你拿到offer了吗 #
400897次浏览 5776人参与
# 产品人求职现状 #
56387次浏览 820人参与
# 2022毕业的你对23届的寄语 #
16687次浏览 355人参与
# 腾讯工作体验 #
152374次浏览 1487人参与
# 考研失败就一定是坏事吗? #
22757次浏览 238人参与
# 产品面经 #
47896次浏览 876人参与