关注
第二题这样的,刚开始看错题目了耽误了好多时间!/(ㄒoㄒ)/~~
#include<iostream>
#include<stdio.h>
#include<string>
#include<map>
using namespace std;
map<string, int>pp;
int n,m;
void work (string s)
{
bool p=0;
int now;
if (s[0]=='a') return ;
for (int i=5;i<s.size();i++)
if (s[i]=='/')
{
p=1;
now=i;
break;
}
string ss[5];
string temp="";
int count=1;
int last;
if (!p)
{
for (int i=5;i<s.size();i++)
{
if (s[i]!='.')
temp+=s[i];
if (s[i]=='.')
{
ss[count]=temp;
temp="";
count++;
last=i;
}
}
ss[4]="";
for (int i=last+1;i<s.size();i++)
ss[4]+=s[i];
}
else
{
for (int i=5;i<s.size();i++)
{
if (s[i]!='.')
temp+=s[i];
if (s[i]=='.')
{
ss[count]=temp;
temp="";
count++;
last=i;
}
}
ss[4]="";
for (int i=last+1;i<now;i++)
ss[4]+=s[i];
}
/*cout<<s<<endl;
cout<<ss[1]<<" ";
cout<<ss[2]<<" ";
cout<<ss[3]<<" ";
cout<<ss[4]<<" "<<endl;*/
int a[9],sz,x;
sz=0;
x=0;
for (int i=0;i<ss[1].size();i++)
x=x*10+(ss[1][i]-'0');
while (x)
{
a[++sz]=x%2;
x=x/2;
}
if (sz<8)
{
for (int i=1;i<=8-sz;i++)
temp+="0";
}
for (int i=sz;i>=1;i--)
temp+=char(a[i]+'0');
sz=0;
x=0;
for (int i=0;i<ss[2].size();i++)
x=x*10+(ss[2][i]-'0');
while (x)
{
a[++sz]=x%2;
x=x/2;
}
if (sz<8)
{
for (int i=1;i<=8-sz;i++)
temp+="0";
}
for (int i=sz;i>=1;i--)
temp+=char(a[i]+'0');
sz=0;
x=0;
for (int i=0;i<ss[3].size();i++)
x=x*10+(ss[3][i]-'0');
while (x)
{
a[++sz]=x%2;
x=x/2;
}
if (sz<8)
{
for (int i=1;i<=8-sz;i++)
temp+="0";
}
for (int i=sz;i>=1;i--)
temp+=char(a[i]+'0');
sz=0;
x=0;
for (int i=0;i<ss[4].size();i++)
x=x*10+(ss[4][i]-'0');
while (x)
{
a[++sz]=x%2;
x=x/2;
}
if (sz<8)
{
for (int i=1;i<=8-sz;i++)
temp+="0";
}
for (int i=sz;i>=1;i--)
temp+=char(a[i]+'0');
//cout<<temp<<endl;
//cout<<temp.size()<<endl;
string ans="";
for (int i=ss[4].size();i<temp.size();i++)
ans+=temp[i];
//cout<<ans<<endl;
//a[ans]=0;
string t="";
for (int i=0;i<=19;i++)
t+=ans[i];
pp[t]=1;
//cout<<ans<<endl;
//cout<<t<<endl;
}
void calc (string s)
{
bool p=0;
int now;
if (s[0]=='a') return ;
for (int i=0;i<s.size();i++)
if (s[i]=='/')
{
p=1;
now=i;
break;
}
string ss[5];
string temp="";
int count=1;
int last;
if (!p)
{
for (int i=0;i<s.size();i++)
{
if (s[i]!='.')
temp+=s[i];
if (s[i]=='.')
{
ss[count]=temp;
temp="";
count++;
last=i;
}
}
ss[4]="";
for (int i=last+1;i<s.size();i++)
ss[4]+=s[i];
}
else
{
for (int i=0;i<s.size();i++)
{
if (s[i]!='.')
temp+=s[i];
if (s[i]=='.')
{
ss[count]=temp;
temp="";
count++;
last=i;
}
}
ss[4]="";
for (int i=last+1;i<now;i++)
ss[4]+=s[i];
}
/*cout<<s<<endl;
cout<<ss[1]<<" ";
cout<<ss[2]<<" ";
cout<<ss[3]<<" ";
cout<<ss[4]<<" "<<endl;*/
int a[9],sz,x;
sz=0;
x=0;
for (int i=0;i<ss[1].size();i++)
x=x*10+(ss[1][i]-'0');
while (x)
{
a[++sz]=x%2;
x=x/2;
}
if (sz<8)
{
for (int i=1;i<=8-sz;i++)
temp+="0";
}
for (int i=sz;i>=1;i--)
temp+=char(a[i]+'0');
sz=0;
x=0;
for (int i=0;i<ss[2].size();i++)
x=x*10+(ss[2][i]-'0');
while (x)
{
a[++sz]=x%2;
x=x/2;
}
if (sz<8)
{
for (int i=1;i<=8-sz;i++)
temp+="0";
}
for (int i=sz;i>=1;i--)
temp+=char(a[i]+'0');
sz=0;
x=0;
for (int i=0;i<ss[3].size();i++)
x=x*10+(ss[3][i]-'0');
while (x)
{
a[++sz]=x%2;
x=x/2;
}
if (sz<8)
{
for (int i=1;i<=8-sz;i++)
temp+="0";
}
for (int i=sz;i>=1;i--)
temp+=char(a[i]+'0');
sz=0;
x=0;
for (int i=0;i<ss[4].size();i++)
x=x*10+(ss[4][i]-'0');
while (x)
{
a[++sz]=x%2;
x=x/2;
}
if (sz<8)
{
for (int i=1;i<=8-sz;i++)
temp+="0";
}
for (int i=sz;i>=1;i--)
temp+=char(a[i]+'0');
//cout<<temp<<endl;
//cout<<temp.size()<<endl;
string ans="";
for (int i=ss[4].size();i<temp.size();i++)
ans+=temp[i];
//cout<<ans<<endl;
//a[ans]=0;
string t="";
for (int i=0;i<=19;i++)
t+=ans[i];
//cout<<t<<endl;
if (pp[t]) cout<<"NO"<<endl;
else cout<<"YES"<<endl;
}
void doing ()
{
cin>>n>>m;
getchar();
string s;
for (int i=1;i<=n;i++)
{
getline (cin,s);
work (s);
}
//cout<<"!!!!!"<<pp["00000001000000010000"];
for (int i=1;i<=m;i++)
{
cin>>s;
calc (s);
}
}
int main ()
{
doing ();
return 0;
}
查看原帖
点赞 5
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你小心翼翼的闯过多大的祸? #
3501次浏览 67人参与
# 找不到实习会影响秋招吗 #
1399589次浏览 13635人参与
# 实习没事做是福还是祸? #
3774次浏览 63人参与
# 重来一次,你会对开始求职的自己说 #
861次浏览 19人参与
# 2025年终总结 #
133413次浏览 2281人参与
# 考研人,我有话说 #
156531次浏览 1211人参与
# 哪些公司笔/面试难度大? #
7047次浏览 32人参与
# 实习简历求拷打 #
23571次浏览 248人参与
# 你觉得现在还能进互联网吗? #
29932次浏览 201人参与
# 携程工作体验 #
18927次浏览 66人参与
# 大厂VS公务员你怎么选 #
69119次浏览 638人参与
# 扒一扒那些奇葩实习经历 #
140139次浏览 1149人参与
# 找不到好工作选择GAP真的丢人吗 #
93655次浏览 1007人参与
# 那些我实习了才知道的事 #
253009次浏览 1784人参与
# 非技术投递记录 #
672841次浏览 6820人参与
# 机械求职避坑tips #
81039次浏览 531人参与
# 投格力的你,拿到offer了吗? #
154798次浏览 829人参与
# 第一份工作能做外包吗? #
94028次浏览 599人参与
# 作业帮求职进展汇总 #
85337次浏览 559人参与
# 秋招遇到的奇葩面试题 #
101238次浏览 416人参与
