zoukankan      html  css  js  c++  java
  • 寒假D3 A Find the Lost Sock

    Alice bought a lot of pairs of socks yesterday. But when she went home, she found that she has lost one of them. Each sock has a name which contains exactly 7 charaters.

    Alice wants to know which sock she has lost. Maybe you can help her. 

    Input

    There are multiple cases. The first line containing an integer n (1 <= n <= 1000000) indicates that Alice bought n pairs of socks. For the following 2*n-1 lines, each line is a string with 7 charaters indicating the name of the socks that Alice took back.

    Output

    The name of the lost sock.

    Sample Input

    2
    aabcdef
    bzyxwvu
    bzyxwvu
    4
    aqwerty
    eas fgh
    aqwerty
    easdfgh
    easdfgh
    aqwerty
    aqwerty
    2
    0x0abcd
    0ABCDEF
    0x0abcd
    

    Sample Output

    aabcdef
    eas fgh
    0ABCDEF
    

    Hint

    Because of HUGE input, scanf is recommended.

    方法1:

    #include<cstdio>
    #include<cmath>
    #include<cstring>
    #include<stdlib.h>
    char a[2000005][8];
    //注;若用qsort对二维数组排序  应该用strcmp  若不是-
    int cmp(const void *a,const void *b)
    {
        return strcmp((char*)a,(char*)b);
    }
    int main()
    {
        int i,j,k;
        int n;
        //快排,检测相邻的字符串
        while(scanf("%d",&n)!=-1)
        {
            getchar();
            for(i=0;i<2*n-1;i++)
            gets(a[i]);
            qsort(a,2*n-1,sizeof(a[0]),cmp);
    
            if(strcmp(a[0],a[1])!=0) {printf("%s
    ",a[0]);continue;}
            for(i=0;i<2*n-1;i+=2)
            if(strcmp(a[i],a[i+1])!=0) {printf("%s
    ",a[i]);break;}
        }
    
    }
    

     方法2:每一串都为7个字符,用数组对每一串的每一个字符计数  若最后某字符的个数为奇数  输出该字符(get)

  • 相关阅读:
    一个matlab小程序:挑出沪市A股年报与一季度报在同一天发布的股票
    AWK
    matlab搜索路径
    从新浪财经上下载交易明细数据并统计每天的买卖笔数(shell 命令行)
    AWK截取字符串
    tar GNU
    工作效率上的错觉(转载)
    matlab双精度浮点数编码及区间覆盖(原创)
    DNS服务器设置(Ubuntu10.04)
    sed
  • 原文地址:https://www.cnblogs.com/orchidzjl/p/4307632.html
Copyright © 2011-2022 走看看