• 【字符串】【乱搞】【AOJ-529】丢失的字符串


    Description
    Mr.zhou喜欢收集长度为10的字符串,并且同样的字符串总是收集偶数个。有一天,他丢失了一个,由于他收集的太多,他无法确定丢失的是哪一个。对此,集训队的各位大牛也表示无能为力,请你帮Mr.zhou找到他丢失的字符串。
    Input
    一个整数N (1 =< N <= 499999),N是奇数,表示Mr.zhou丢失一个字符串后剩余的字符串的个数。
    接下来N行是Mr.zhou剩余的字符串
    Output
    输出一行,一个长度为10的Mr.zhou丢失的字符串
    Sample Input
    5
    svyzshitjq
    jmbdutpigq
    ixogzmfcem
    svyzshitjq
    jmbdutpigq
    

     
    Sample Output
    ixogzmfcem
    
     
     
    思路:
    先把字符串排序,再两个两个比较
     
    参考代码:
    #include <iostream> 
    #include <stdio.h> 
    #include <string.h> 
    #include <stdlib.h> 
    using namespace std; 
    char a[500000][15]; 
      
    void quicksort(char s[][15],int left,int right) //快排
    { 
        int i=left,j=right,p=left; 
        char temp[100]; 
        strcpy(temp,s[left]); 
        while(i<j) 
        { 
            while(strcmp(s[j],temp)>=0&&j>=p)j--; 
            if(j>=p)strcpy(s[p],s[j]),p=j; 
            while(strcmp(s[i],temp)<=0&&i<=p)i++; 
            if(i<=p)strcpy(s[p],s[i]),p=i; 
        } 
        strcpy(s[p],temp); 
        if(p-left>1)quicksort(s,left,p-1); 
        if(right-p>1)quicksort(s,p+1,right); 
    } 
    int main() 
    { 
        int n; 
        int i=0,j=0; 
        cin>>n; 
        while(n--) 
            scanf("%s",a[i++]); 
        quicksort(a,0,i-1); 
      
        for(j=0;j<i;j+=2) //两两比较
            if(strcmp(a[j],a[j+1])) 
            { 
                puts(a[j]); 
                break; 
            } 
        return 0; 
    }
  • 相关阅读:
    冒泡排序
    二分查找
    数3退1的java实现
    列出目录下对应的子目录及文件
    errno相关
    Fibonacci
    windows 下查看Python 的安装路径
    20条编程经验
    [转]一位程序员工作10年总结的13个忠告
    Sql查询语句过滤重复的数据
  • 原文地址:https://www.cnblogs.com/ahu-shu/p/3491306.html
Copyright © 2020-2023  润新知