zoukankan      html  css  js  c++  java
  • SCAU 10688 XYMAC之路 (水题)

    10688 XYM-AC之路

    时间限制:1000MS  内存限制:65535K 提交次数:0 通过次数:0

    题型: 编程题   语言: 无限制

    Description

       在华农的众ACMers中,有着一位家喻户晓、人称一鸣惊人的DP神牛—XYM。由于XYM太出名了,他的仰慕者决定给XYM写一部个人传奇以传承他光辉的AC之路。
    为了使故事更加真实,特派记者Y决定去采访XYM教主。由于XYM太出名了,而且时间很忙,他对于每个问题只会回答Yes或No。由于这是记者Y第一次跟XYM教主
    面对面访谈,他十分紧张,所以他可能会重复问同一个问题,但对于相同的问题XYM都会是相同的回答。记者Y有个特殊的癖好,每问完一个问题,他都会把这
    个问题和XYM教主的回答分开记下来。
       然而,不幸的是,Y在回去的路上不小心把记有XYM的回答的纸条弄丢了,只剩下一些问题。可怜的记者Y决定将XYM教主所有可能的回答的组合全部写出来。
    这样,他就有可能认出那个才是XYM的回答。
       不过Y不知道一共要写多少才行,所以他想向聪明的你求救,一共有多少组可能的回答组合他需要写出来的?
    

    Input

    第一行只有一个正整数T,表示题目共有T组数据
      接下来是T组数据。
      每组数据第一行输入一个整数n(1<= n <= 50),
      接下来有n行,每行输入一个问题que[i],表示Y第i个问的问题是什么。 
      每个问题最多由50个字符组成,每个问题只包含小写字母 ('a'-'z'),大写字母 ('A'-'Z'), 问号 ('?') 或者下划线 ('_').两个问题问题被认为相同当且仅当组成问题的所有字符一一对应 相同。
    

    Output

        对于每组数据输出一个整数,表示所有可能的回答的组合的方案数。

    Sample Input

    3
    3
    How_are_you_doing?
    How_do_you_like_our_country?
    How_are_you_doing?
    1    	
    Whazzup?
    4	
    Do_you_like_my_story?
    Do_you_like_my_story
    DO_YOU_LIKE_MY_STORY?	
    Do__you__like__my__story?
    

    Sample Output

    4
    2
    16
    

    Hint

    对于第一组数据,一个有四种可能的回答组合
    "Yes", "Yes", "Yes";
    "Yes", "No", "Yes";
    "No", "Yes", "No";
    "No", "No", "No".
    

    Source

    Troy

    Provider

    scau_acm

     

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        int i, j, T, count, n;
        char que[52][52], temp[52];
        long long unsigned res;
        scanf("%d",&T);
        while(T--)
        {
            count = 0;
            for(i=0; i<52; ++i) memset(que[i], 0, sizeof(char)*52);
            scanf("%d", &n);
            for(i=1; i<=n; ++i)
            {
                memset(temp, 0, sizeof(temp));
                scanf("%s", temp);
                if(!count) {strcpy(que[0], temp); ++count;}
                else
                {
                        for(j=0; j<count && strcmp(que[j], temp); ++j);
                        if(j == count)
                        {
                            strcpy(que[j], temp);
                            count++;
                        }
                }
            }
            for(i=1,res=1; i<=count; ++i) res = res*2;
            printf("%llu\n", res);
        }
        return 0;
    }


     

    解题报告:

    说实话,感觉吃亏了,WA的原因是后来溢出了,2的50次方,int远远不够的!

  • 相关阅读:
    不同包中继承关系访问protected内部类问题
    LinuxMM--MemoryHierarchy
    LinuxMM--Memory Pressure
    多态实验:基类——子类成员
    使用vue开发的word-cloud 词云组件
    基于mui.PopPicker的可多选下拉多选的底部弹出组件
    基于mui.popover的自定义底部弹出框-支持多选和搜索筛选的弹出列表组件改造以及mui.prompt添加自定义内容
    js去空 去除空格
    css+js控制文字显示行数,多出部分显示省略号
    使用vue开发自定义tabs标签页组件
  • 原文地址:https://www.cnblogs.com/liaoguifa/p/2778322.html
Copyright © 2011-2022 走看看