比赛 |
普及组2016模拟练习4 |
评测结果 |
EEEEEEEEEE |
题目名称 |
火星上的加法运算 |
最终得分 |
0 |
用户昵称 |
asd |
运行时间 |
0.772 s |
代码语言 |
C++ |
内存使用 |
2.37 MiB |
提交时间 |
2016-11-17 20:33:34 |
显示代码纯文本
#include<stdio.h>
#include<stdlib.h>
int m,n,a[10001],aa[10001],bb[10001],ans[10001];
char c[10001][101],q[10001][101];
void find();
void readl()
{ int i,j;
FILE * f;
f=fopen("scanword.in","r");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
{ j=0;
fscanf(f,"%s",c[i]);
fscanf(f,"%d",&a[i]);
while(c[i][j]!=0)
{ aa[i]=(j+1)*c[i][j];j++;}
}
fscanf(f,"%d",&m);
for(i=1;i<=m;i++)
{ j=0;
fscanf(f,"%s",q[i]);
while(q[i][j]!=0)
{bb[i]=(j+1)*q[i][j];j++;}
}
fclose(f);
return ;
}
void print()
{ int i;
FILE * f;
f=fopen("scanword.out","w");
for(i=1;i<=m;i++)
fprintf(f,"%d\n",ans[i]);
fclose(f);
return ;
}
int main()
{ readl();
find();
print();
return 0;
}
void find()
{ int i,j,t,flag;
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
if(aa[i]==bb[j])
{t=0;flag=1;
while(c[j][t]!=0)
{ if(c[j][t]!=q[i][t]) flag=0;t++;}
if(flag) ans[i]=a[j];
}
}
}