关注
第二题这样的,刚开始看错题目了耽误了好多时间!/(ㄒ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
相关推荐
点赞 评论 收藏
转发
点赞 评论 收藏
转发
点赞 评论 收藏
转发
牛客热帖
正在热议
# 牛友的五一计划 #
27939次浏览 480人参与
# 市场营销面经 #
1864次浏览 82人参与
# 牛客帮帮团来啦!有问必答 #
423211次浏览 8050人参与
# 许愿池 #
67430次浏览 1489人参与
# 晒一晒我的offer #
2872142次浏览 50269人参与
# 2022届毕业生现状 #
287478次浏览 4121人参与
# 你的秋招进展怎么样了 #
450774次浏览 12994人参与
# 如何看待offer收割机的行为 #
199209次浏览 3039人参与
# 互联网公司评价 #
64203次浏览 911人参与
# 硬件人的春招flag #
14798次浏览 203人参与
# 非技术岗薪资爆料 #
11120次浏览 211人参与
# 实习好累,可以辞职全力准备秋招吗 #
2801次浏览 59人参与
# 找工作,你会甘心进小厂还是猛冲大厂 #
25912次浏览 260人参与
# 产品实习,你更倾向大公司or小公司 #
31735次浏览 499人参与
# 秋招开了,你想投哪些公司呢 #
102744次浏览 3134人参与
# 浅聊一下我实习的辛苦费 #
71835次浏览 655人参与
# 提前批真的不会影响正式批吗 #
18375次浏览 231人参与
# 双非本科求职如何逆袭 #
175998次浏览 2643人参与
# 在国企工作的人,躺平了吗? #
74792次浏览 917人参与
# 实习想申请秋招offer,能不能argue薪资 #
4637次浏览 70人参与