比赛 普及组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]; 
   }
  
  }	
}