USACO Section 1.2 : Name That Number
# include <stdio.h>
# include <string.h>
char check(char x)
{
switch(x)
{
case 'A': return '2';
case 'B': return '2';
case 'C': return '2';
case 'D': return '3';
case 'E': return '3';
case 'F': return '3';
case 'G': return '4';
case 'H': return '4';
case 'I': return '4';
case 'J': return '5';
case 'K': return '5';
case 'L': return '5';
case 'M': return '6';
case 'N': return '6';
case 'O': return '6';
case 'P': return '7';
case 'R': return '7';
case 'S': return '7';
case 'T': return '8';
case 'U': return '8';
case 'V': return '8';
case 'W': return '9';
case 'X': return '9';
case 'Y': return '9';
}
}
main ()
{
FILE *in=fopen ("namenum.in","r");
FILE *out=fopen("namenum.out","w");
FILE *dic=fopen("dict.txt","r");
char name[5000][15],fin[15],checkit[15];
int i,j,t=0;
fscanf (in,"%s",fin);
for (i=0;!feof(dic);i++)
{
memset(checkit,'\0',sizeof(checkit));
fscanf (dic,"%s",name[i]);
for (j=0;name[i][j]!='\0';j++)
checkit[j]=check(name[i][j]);
if (strcmp(fin,checkit)==0)
{
fprintf (out,"%s\n",name[i]);
t++;
}
}
if (t==0)
fprintf (out,"NONE\n");
fclose(in);
fclose(out);
fclose(dic);
exit(0);
}
# include <string.h>
char check(char x)
{
switch(x)
{
case 'A': return '2';
case 'B': return '2';
case 'C': return '2';
case 'D': return '3';
case 'E': return '3';
case 'F': return '3';
case 'G': return '4';
case 'H': return '4';
case 'I': return '4';
case 'J': return '5';
case 'K': return '5';
case 'L': return '5';
case 'M': return '6';
case 'N': return '6';
case 'O': return '6';
case 'P': return '7';
case 'R': return '7';
case 'S': return '7';
case 'T': return '8';
case 'U': return '8';
case 'V': return '8';
case 'W': return '9';
case 'X': return '9';
case 'Y': return '9';
}
}
main ()
{
FILE *in=fopen ("namenum.in","r");
FILE *out=fopen("namenum.out","w");
FILE *dic=fopen("dict.txt","r");
char name[5000][15],fin[15],checkit[15];
int i,j,t=0;
fscanf (in,"%s",fin);
for (i=0;!feof(dic);i++)
{
memset(checkit,'\0',sizeof(checkit));
fscanf (dic,"%s",name[i]);
for (j=0;name[i][j]!='\0';j++)
checkit[j]=check(name[i][j]);
if (strcmp(fin,checkit)==0)
{
fprintf (out,"%s\n",name[i]);
t++;
}
}
if (t==0)
fprintf (out,"NONE\n");
fclose(in);
fclose(out);
fclose(dic);
exit(0);
}
标签:
USACO
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架