编程之美13资格赛&&14测试赛 A 传话游戏
2014-04-07 21:14
225 查看
编程之美13资格赛&&14测试赛 A 传话游戏 题目链接:http://programming2013.cstnet.cn/qualification/problem/1
题目分析:存下来比较、替换就行了,需要注意的是,替换表可能会有环,处理方法是找到此单词应当替换的数据,替换后跳出到下一单词。
code:
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,m,n,t,k,p,flag;
char from[50][25],to[50][25],s[50][25],temp[25],c;
scanf("%d",&t);
for(i=1;i<=t;i++)
{
scanf("%d%d",&n,&m);
for(j=0;j<m;j++)
{
scanf("%s%s",from[j],to[j]);
}
scanf("%s%c",s[0],&c);
for(k=1;c!='\n';k++)
{
scanf("%s%c",s[k],&c);
}
n--;
while(n--)
{
for(j=0;j<k;j++)
{
for(flag=p=0;p<m;p++)
{
if(!strcmp(s[j],from[p]))
{
s[j][0]=0,strcpy(s[j],to[p]);
//printf("j==%d,p==%d\n",j,p);
flag=1;
}
if(flag)break;
}
}
}
printf("Case #%d: ",i);
for(j=0;j<k;j++)
{
printf("%s%c",s[j],j==k-1?'\n':' ');
}
}
return 0;
}
PS:也就做个A了……
题目分析:存下来比较、替换就行了,需要注意的是,替换表可能会有环,处理方法是找到此单词应当替换的数据,替换后跳出到下一单词。
code:
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,m,n,t,k,p,flag;
char from[50][25],to[50][25],s[50][25],temp[25],c;
scanf("%d",&t);
for(i=1;i<=t;i++)
{
scanf("%d%d",&n,&m);
for(j=0;j<m;j++)
{
scanf("%s%s",from[j],to[j]);
}
scanf("%s%c",s[0],&c);
for(k=1;c!='\n';k++)
{
scanf("%s%c",s[k],&c);
}
n--;
while(n--)
{
for(j=0;j<k;j++)
{
for(flag=p=0;p<m;p++)
{
if(!strcmp(s[j],from[p]))
{
s[j][0]=0,strcpy(s[j],to[p]);
//printf("j==%d,p==%d\n",j,p);
flag=1;
}
if(flag)break;
}
}
}
printf("Case #%d: ",i);
for(j=0;j<k;j++)
{
printf("%s%c",s[j],j==k-1?'\n':' ');
}
}
return 0;
}
PS:也就做个A了……
相关文章推荐
- 《编程之美》
- 2012年终碎语,编程之美
- 程序员编程艺术3:寻找最小的k个数
- 编程之美2013全国挑战赛资格赛第1题
- 编程之美2013全国挑战赛资格赛第3题
- 编程之美3.8:求二叉树节点的最大距离
- 《编程之美》——中国象棋将帅问题
- 《编程之美》——求二叉树中节点的最大距离(非递归)
- 《编程之美》——求二叉树中节点的最大距离(非递归)
- 《编程之美》——中国象棋将帅问题
- [编程之美2.1]求二进制数中1的个数
- [编程之美2.12]快速寻找满足条件的两个数及leetcode的3 sum closest 和 4 sum解析
- [编程之美2.14]求子数组之和的最大值
- [编程之美2.2]不要被阶乘吓到
- [编程之美2.4]1的数目
- [编程之美3.1]字符串移位包含的问题
- [编程之美2.17]数组循环移位
- [编程之美3.8]求二叉树节点的最大距离
- [编程之美3.9]重建二叉树
- [编程之美3.10]分层遍历二叉树