indeed最后一题
有做了indeed笔试的同学吗?最后一题我有3个测试用例通过不了,找不到原因,求助啊!
#include <iostream>
#include <vector>#include <iostream>
#include <string>
#include <map>
#include <algorithm>
using namespace std;
int main()
{
string s;
cin>>s;
int N=s.length();
if(N<=10)
{
vector<char> tmp;
for(int i=0;i<N;i++)
{
if(s[i]!='?')
{
int t=s[i]-'0';
if(find(tmp.begin(),tmp.end(),t)!=tmp.end())
{
cout<<0<<endl;
return 0;
}
else
tmp.push_back(t);
}
}
if(tmp.size()==N)
{
cout<<1;
return 0;
}
int a=N-tmp.size();
int c=10-tmp.size();
int count=1;
for(int i=0;i<a;i++)
count*=c--;
cout<<count<<endl;
}
else
{
int tmp[10]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
for(int i=0;i<N;i++)
{
if(s[i]!='?')
{
if(tmp[i%10]!=-1)
{
if(tmp[i%10]!=s[i]-'0')
{
cout<<0<<endl;
return 0;
}
}
else
tmp[i%10]=s[i]-'0';
}
}
int num=0;
for(int i=0;i<10;i++)
if(tmp[i]!=-1)
num++;
if(num==10)
{
cout<<1;
return 0;
}
int a=10-num;
int count=1;
for(int i=a;i>=1;i--)
count*=i;
cout<<count<<endl;
}
return 0;
}