关注
发个第三题的吧
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef unsigned long long st;
typedef pair<int,int> P;
typedef pair<int,pair<int,int>> PP;
bool mycheck(char a,char b,char c){
if(a>b)swap(a,b);
if(b>c)swap(b,c);
if(a>b)swap(a,b);
if(a==b&&b==c)return true;
if(a+1==b&&b+1==c)return true;
return false;
}
bool check3(string &s,vector<int>& fl,int sum){
if(sum<=0)return true;
for(int i=0;i<s.size();i++)
for(int j=i+1;j<s.size();j++)
for(int k=j+1;k<s.size();k++)
if(fl[i]==0&&fl[j]==0&&fl[k]==0&&mycheck(s[i],s[j],s[k]))
{
fl[i]=1,fl[j]=1,fl[k]=1;
if(check3(s,fl,sum-3))return true;
fl[i]=0,fl[j]=0,fl[k]=0;
}
return false;
}
bool check2(string &s){
vector<int> fl(20);
for(int i=0;i<s.size();i++)
for(int j=i+1;j<s.size();j++)
if(s[i]==s[j])
{
fl[i]=1,fl[j]=1;
if(check3(s,fl,s.size()-2))return true;
fl[i]=0,fl[j]=0;
}
return false;
}
bool check(string& s){
if(s.size()==0)return false;
return check2(s);
}
int main()
{
freopen("input", "r", stdin);
string s,ans;
while(cin>>s)
{
unordered_map<char,int> um;
for(char c:s)um[c]++;
for(int i=1;i<10;i++){
string temp=s;
if(um['0'+i]>=4)continue;
temp.push_back('0'+i);
if(check(temp))ans.push_back('0'+i);
}
if(ans.size()!=0)
cout<<ans<<endl;
else cout<<0<<endl;
}
return 0;
}
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你的实习产出是真实的还是包装的? #
62739次浏览 536人参与
# 第一份工作应该选择高薪还是大平台 #
220324次浏览 1035人参与
# 华泰星战营,提前锁定校招offer #
1046次浏览 177人参与
# 小红书求职进展汇总 #
238343次浏览 1397人参与
# 校招第一份工作你干了多久? #
149991次浏览 630人参与
# 大疆求职进展汇总 #
699633次浏览 4351人参与
# 商战,最累的是我们 #
31552次浏览 98人参与
# AI时代还有必要刷leetcode吗? #
47480次浏览 562人参与
# 考公VS就业,你怎么选? #
99784次浏览 521人参与
# 想从事Agent应该学习哪些技术? #
13804次浏览 385人参与
# 大学生该如何认清当下的就业环境? #
165849次浏览 907人参与
# 字节7000实习来了,你投了吗? #
43136次浏览 330人参与
# 海康威视求职进展 #
134549次浏览 555人参与
# 26届春招投递记录 #
4819次浏览 49人参与
# HR面都在聊什么? #
21333次浏览 236人参与
# 有哪些公司在面试时考察AICoding? #
26950次浏览 435人参与
# 校招生月薪1W算什么水平 #
144000次浏览 495人参与
# 毕业论文进行时 #
36354次浏览 172人参与
# 第一份工作应该选高薪还是热爱? #
172417次浏览 1075人参与
# 联影求职进展汇总 #
177023次浏览 848人参与
# 从投递到OC,你用了多久 #
36525次浏览 375人参与
查看4道真题和解析