UVA 11736 Debugging RAM

时间:2023-03-09 00:13:51
UVA 11736	 Debugging RAM

模拟题;

比赛的时候忘记把1变成64位的1了,跪了好久;

 #include<cstdio>
#include<cstring>
#include<map>
#include<string>
using namespace std; unsigned long long val[];
int num[];
map<string,int>mp;
char s[];
char jkl[];
int main()
{
int d,b,v;
while(scanf("%d%d",&b,&v)!=EOF)
{
mp.clear();
for(int i=;i<v;i++)
{
val[i]=;
num[i]=;
}
for(int i=;i<v;i++)
{
scanf("%s",s);
scanf("%d",&d);
mp[s]=i;
num[i]=d;
}
gets(jkl);
int q;
char w;
for(int i=;i<v;i++)
{
unsigned long long tmp=;
for(int j=num[i]-;j>=;j--)
{
for(int k=b-;k>=;k--)
{
w=getchar();
if(w=='')
tmp+=((unsigned long long))<<(j*b+k);
}
gets(jkl);
}
val[i]=tmp;
}
scanf("%d",&q);
gets(jkl);
while(q--)
{
scanf("%s",s);
if(mp.find(s)==mp.end())printf("%s=\n",s);
else printf("%s=%llu\n",s,val[mp[s]]);
}
}
return ;
}