水题
#include<iostream>
#include<string>
using namespace std;
inline bool ipstring(string ip)
{
int threes=0;
for(int i=0;i<ip.size();i++)
{
if(ip[i]=='.')threes++;
}
return threes==3&&ip[ip.size()-1]!='.'&&ip[0]!='.';
}
int main()
{
int t;
string ip;
cin>>t;
while(t--)
{
cin>>ip;
if(!ipstring(ip)){
cout<<"No\n";continue;
}
string temp="";
bool ok=true;
for(int i=0;i<=ip.size()&&ok;i++)
{
// cout<<"i = "<<i<<endl;
if(i==ip.size()||ip[i]=='.'){
//cout<<temp<<endl;
if(temp.size()==3)
{
//cout<<temp<<endl;
if(temp[0]>='0'&&temp[0]<='1'&&temp[1]>='0'&&temp[1]<='9'&&temp[2]>='0'&&temp[2]<='9')
{
}
else if(temp[0]=='2'&&temp[1]>='0'&&temp[1]<='5'&&temp[2]>='0'&&temp[2]<='5')
{
}
else ok=false;
}
else if(temp.size()==2)
{
if(temp[0]>='0'&&temp[0]<='9'&&temp[1]>='0'&&temp[1]<='9')
{
}
else ok=false;
}
else if(temp.size()==1)
{
if(temp[0]<='9'&&temp[0]>='0')
{
}
else ok=false;
}
else ok=false;
temp="";
}
else{
temp=temp+ip[i];
//cout<<temp<<endl;
}
}
//cout<<"???"<<endl;
//cout<<ok<<endl;
if(ok)
cout<<"Yes\n";
else
cout<<"No\n";
}
}