#include <iostream>
#include <cstring>
using namespace std;
string s;
int len;
int visit[10000];
void dfs(int step,int locate)
{
int i;
if(step==3)
{
for(i=1;i<len;i++)
{
if(s[i]=='0'&&visit[i-1]==1&&visit[i]==0)
return;
}
for(i=0;i<len-2;i++)
{
if(visit[i]==0&&visit[i+1]==0)
{
if(visit[i+2]==0)
return;
int t=(s[i]-'0')*100+(s[i+1]-'0')*10+s[i+2]-'0';
if(t>255)
return;
}
}
for(i=0;i<len;i++)
for(i=0;i<len;i++)
{
cout<<s[i];
if(visit[i]==1&&i!=len-1)
cout<<".";
}
cout<<endl;
return;
}
for(int j=locate+1;j<len-1;j++)
{
visit[j]=1;
dfs(step+1,j);
visit[j]=0;
}
}
int main()
{
cin>>s;
len=s.size();
for(int i=0;i<len-1;i++)
{
visit[i]=0;
}
visit[len-1]=1;
for(int j=0;j<len-1;j++)
{
visit[j]=1;
dfs(1,j);
visit[j]=0;
}
}
SCAU 19072 数字字符串转化成IP地址
最新推荐文章于 2024-10-01 04:50:10 发布