搜索
有爱,有技术,有你^_^)y
╱人◕‿‿◕人╲订下契约(注册新用户)

合作站点账号登陆

QQ登录

只需一步,快速开始

快捷导航
查看: 652|回复: 5
收起左侧

关于拼音输入法的问题。

[复制链接]

该用户从未签到

11

主题

37

好友

1万

积分

第一章

积分
18487
发表于 2013-5-21 09:41:49 | 显示全部楼层 |阅读模式

╱人◕‿‿◕人╲定下契约

您需要 登录 才可以下载或查看,没有账号?╱人◕‿‿◕人╲订下契约(注册新用户)

x
Input

首先输入一个拼音列表,每行以“拼音 汉字”的形式输入,比如“wo 我”表示“我”字的拼音是“wo”,会出现拼音相同的情况,比如“wo 我”,“wo 喔”,这时以他们出现的顺序为序号区分,即“wo”这个拼音的第一个字是“我”,第二个字是“喔”。
输入拼音列表以单独的一行“end”结束。
接下来输入若干行询问的拼音,每行以“拼音 序号n”的形式输入,比如“wo 1”。
输入的询问拼音以单独的一行“end”结束。

Output

对于每一行输入询问的拼音,输出一个该拼音的第n个中文(如果n大于该拼音下的中文数,那么就输出该拼音下的最后一个中文)。
如果输入的拼音不存在之前的拼音列表中,则输出单独的一行"NO"。

Sample Input

wo 我
wo 喔
ni 你
ni 泥
end
wo 1
ni 3
ta 2
end
Sample Output



NO
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复

使用道具 举报

该用户从未签到

11

主题

37

好友

1万

积分

第一章

积分
18487
 楼主| 发表于 2013-5-21 09:43:08 | 显示全部楼层
之前用链表挨个存。然后果然超时了。
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

37

好友

1万

积分

第一章

积分
18487
 楼主| 发表于 2013-5-21 09:44:03 | 显示全部楼层
现在用 字符串存,然后读取指定下标。 服务器判WA。求解。
[mw_shl_code=c,true]#include<stdio.h>
#include<malloc.h>
#include<string.h>
#define max 1001
typedef struct Node
{
    int data;
    char en[max];
    char cn[max*10];
    struct Node *next;
}LNode,*List;
int List_add(List L,char *a)
{
    int ok=0;
    while(L->next!=NULL)
    {
        L=L->next;
        if(strcmp(L->en,a)==0)
        {
            ok=1;
            break;
        }

    }
    if(ok==1)
    {
        char str[10];
        scanf("%s",str);
        strcat(L->cn,str);
    }
    else
    {
        List New=(LNode*)malloc(sizeof(LNode));
        strcpy(New->en,a);scanf("%s",New->cn);
        New->next=L->next;
        L->next=New;
    }
}
int List_show(List L,char *a)
{
    int i=0,n;
    char str[10];
    scanf("%d",&n);
    while(L->next!=NULL)
    {
        L=L->next;
        if(strcmp(L->en,a)==0)
        {
            i=1;
            int len=strlen(L->cn);
            if(n>len/2)
            str[0]=L->cn[len-2],str[1]=L->cn[len-1],str[2]='\0';
            else
            str[0]=L->cn[2*n-2],str[1]=L->cn[2*n-1],str[2]='\0';
            printf("%s\n",str);return 0;
        }

    }
    if(i==0)printf("NO\n");
}
int main()
{
    List L=(LNode*)malloc(sizeof(LNode));
    L->next=NULL;
    char a[max];
    while(scanf("%s",a)!=EOF)
    {
        if(strcmp(a,"end")==0)break;
        List_add(L,a);
    }
    while(scanf("%s",a)!=EOF)
    {
        if(strcmp(a,"end")==0)break;
        List_show(L,a);
    }
    return 0;
}
[/mw_shl_code]

评分

参与人数 1宅币 +20 贡献 +1 元气(技能点) +1 收起 理由
Mr_Alex + 20 + 1 + 1 o(* ̄▽ ̄*)ブ 发糖

查看全部评分

签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

30

主题

127

好友

2万

积分

技术宅认证程序员

重度中二患者

积分
28325
发表于 2013-5-21 12:19:42 | 显示全部楼层
服务器端可能用utf8存。。一个汉字长度就是3了。
等死星人
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

37

好友

1万

积分

第一章

积分
18487
 楼主| 发表于 2013-5-21 12:41:56 | 显示全部楼层
本帖最后由 汝欠咱的一生 于 2013-5-21 12:45 编辑

服务器是linux。不知道是不是utf8存的。
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

签到天数: 3 天

连续签到: 1 天

[LV.2]偶尔看看I

15

主题

53

好友

5678

积分

技术宅认证程序员

行走在路上的程序制作者,游弋在代码中的人生。

积分
5678
发表于 2013-8-9 18:57:44 | 显示全部楼层
好厉害的样子哦..
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

本版积分规则

小黑屋|手机版|技术宅(Z站|基宅) ( 粤ICP备18082987号-1 )

GMT+8, 2025-5-2 00:10 , Processed in 0.098485 second(s), 23 queries , Redis On.

Copyright © 2018 技术宅社区

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表