关注
第二题这样的,刚开始看错题目了耽误了好多时间!/(ㄒ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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 2025的主旋律是蛰伏,落寞,遗憾1.1W
- 2... 杂记近期所面试的三家中小厂9576
- 3... 岁末论道:谁才是牛客 2025 最强修仙者?7770
- 4... 圣诞节用 AI 做个牛客运营翻翻乐!(含代码)5965
- 5... 选择即命运—2025年度总结4917
- 6... 大学废物离开优绩主义之后发现外面根本没下雨4606
- 7... 从H200解禁评估:国资算力平台还值得应届就业吗?4332
- 8... 实习没事做是福也是祸3032
- 9... 我只是一个脆弱的人2921
- 10... 互联网实习求职的黑话和timeline,你所需要知道的……2911
正在热议
更多
# 2025年终总结 #
174001次浏览 2935人参与
# 找工作,行业重要还是岗位重要? #
85476次浏览 1693人参与
# 牛客2025仙途报告 #
469次浏览 7人参与
# 职场上哪些行为很加分? #
307218次浏览 3458人参与
# 大家每天通勤多久? #
70057次浏览 449人参与
# 实习的内耗时刻 #
211439次浏览 1545人参与
# 你面试体验感最差/最好的公司 #
18574次浏览 305人参与
# 一人说一个提前实习的好处 #
11383次浏览 207人参与
# 今年你最想重开的一场面试是? #
4363次浏览 70人参与
# 秋招落幕,你是He or Be #
12995次浏览 248人参与
# 互联网行业现在还值得去吗 #
46953次浏览 351人参与
# 实习没事做是福还是祸? #
17262次浏览 260人参与
# 面试吐槽bot #
165038次浏览 814人参与
# 重来一次,你会对开始求职的自己说 #
6295次浏览 160人参与
# 反问环节如何提问 #
126408次浏览 2665人参与
# 礼物开箱Plog #
760次浏览 25人参与
# 工作中听到最受打击的一句话 #
7061次浏览 118人参与
# 团建是“福利”还是是 “渡劫” #
7435次浏览 151人参与
# 我的第一份实习怎么找的 #
208619次浏览 1827人参与
# 比亚迪工作体验 #
74816次浏览 281人参与

