zoukankan      html  css  js  c++  java
  • 【字符串】【乱搞】【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; 
    }
  • 相关阅读:
    (22)进程和线程区别
    (21)回调函数
    (20)gevent协程
    (18)ProcessPoolExecutor进程池
    (19)ThreadPoolExecutor线程池
    (17)线程队列---queue LifoQueue PriorityQueue
    (16)线程---定时器Timer
    (15)线程---Condition条件
    (14)线程- Event事件和守护线程Daemon
    IDEA快速搭建WEB项目【记录篇】
  • 原文地址:https://www.cnblogs.com/ahu-shu/p/3491306.html
Copyright © 2011-2022 走看看