• POJ 2418


    http://poj.org/problem?id=2418

    这是一个二叉树的题目,但我看了下书,还是不是特别理解会用二叉树,所以我就用其他的办法来做,结果一样AC,时间也就1700多ms,比起二叉树的时间多了几百ms

    但是就是内存大了很多倍,因为数组开的大,也是一个水题

    题意就是给你很多个单词,要你统计单词出现的次数,最后按字典升序输出,题目还是比较简单的

     1 #include <stdio.h>
     2 #include <iostream>
     3 #include <string.h>
     4 #include <stdlib.h>
     5 
     6 
     7 using namespace std;
     8 
     9 
    10 int cmp(const void *a,const void *b)
    11 {
    12     return strcmp((char *)a,(char *)b);
    13 }
    14 
    15 char str_1[1000001][32],str_2[10001][32];      //str_1是用来输入的,str_2是用来存没有重复的每一个单词,以及sustr用来存这个单词有多少个
    16 int sustr[10001];
    17 
    18 int main()
    19 {
    20     int first=0,num=0,mark=0;
    21     char cm[32];  
    22     while(gets(str_1[first])!=NULL)    //这个我也是看discuss才知道NULL是输入结束的标志,也就是输入ctrl+z,就会结束
    23         first++;
    24     qsort(str_1,first,sizeof(str_1[0]),cmp);
    25     strcpy(cm,str_1[0]);
    26     for(int i=0;i<=first;i++)
    27     {
    28         if(strcmp(cm,str_1[i]))        //这个strcmp函数,我也没查证,但经过使用时才发现,strcmp(x,y)如果x=y返回的应该是0,如果不等于返回的是1。
    29         {
    30             strcpy(str_2[num],cm);    //用cm和str_2的数组进行比较,如果相同,则下一个,不同的话,记录下来。
    31             sustr[num]=i-mark;
    32             num++;
    33             strcpy(cm,str_1[i]);
    34             mark=i;
    35         }
    36     }
    37     for(int i=0;i<num;i++)
    38     {
    39         printf("%s %.4f
    ",str_2[i],(1.0*sustr[i]/first)*100);
    40     }
    41     return 0;
    42 }
  • 相关阅读:
    HDU 5338(ZZX and Permutations-用线段树贪心)
    编程之美-活动中心(三分)
    form的method用get导致中文乱码
    Tomcat: Could not clean server of obsolete files
    Eclipse打开javadoc框
    Java EE各种documentation
    web-project的/WEB-INF/lib
    在jsp里面不要瞎用<!-- -->注释
    [流水账]搜索与web-container版本匹配的jar包
    session的创建与销毁
  • 原文地址:https://www.cnblogs.com/Tree-dream/p/5365335.html
Copyright © 2020-2023  润新知