大佬们,这样做思路有没有错呀?但是运行的时候发现j的内层循环只跑了一回不知道怎么回事,求解
#include<iostream>
#include<cstdio>
#include<vector>
#include<utility>
#include<algorithm>
#include<string>
#include<unordered_set>
using namespace std;
string N;
long long ans=0;
int main()
{
cin>>N;
unordered_set<string>mem;
mem.insert("-123");
string T;
for(long long i=1;i<=N.size()+1;i++){
for(long long j=0;j<=9;j++){
if(i==N.size()+1){
T=N+to_string(j);
}else{
string tempr=N.substr(i-1);
string templ=N.erase(i-1);
T=templ+to_string(j)+tempr;
}
if(mem.find(T)==mem.end()){
ans++;
mem.insert(T);
}
}
}
cout<<ans<<endl;
return 0;
}
#include<iostream>
#include<cstdio>
#include<vector>
#include<utility>
#include<algorithm>
#include<string>
#include<unordered_set>
using namespace std;
string N;
long long ans=0;
int main()
{
cin>>N;
unordered_set<string>mem;
mem.insert("-123");
string T;
for(long long i=1;i<=N.size()+1;i++){
for(long long j=0;j<=9;j++){
if(i==N.size()+1){
T=N+to_string(j);
}else{
string tempr=N.substr(i-1);
string templ=N.erase(i-1);
T=templ+to_string(j)+tempr;
}
if(mem.find(T)==mem.end()){
ans++;
mem.insert(T);
}
}
}
cout<<ans<<endl;
return 0;
}


