POJ 2408

来源:互联网 发布:淘宝双12报名流程 编辑:程序博客网 时间:2024/05/22 10:14

http://write.blog.csdn.net/mdeditor

#include <stdio.h>#include <algorithm>#include <iostream>#include <string.h>#define maxs 100010#define MME(i,j) memset(i,j,sizeof(i))using namespace std;struct input{    char primary[40];//输入的初始字符串    char sort_word[40];//排序好的字符串}f[30500];int input_cmp(input a,input b){    if( !strcmp(a.sort_word,b.sort_word) )        return strcmp(a.primary,b.primary)<0;    else return strcmp(a.sort_word,b.sort_word)<0;}struct group{    char primary[40];//存放的是初始的字符串    int num;      //sort之后出现次数    int begins;  //这个串出现的起始位置}G[30020];int groupcmp(group a,group b){    if(a.num==b.num)        return strcmp(a.primary,b.primary)<0;    else return a.num>b.num;}int main(){    int k=0;    while(~scanf("%s",f[k].primary))    {        int len=strlen(f[k].primary);        strcpy(f[k].sort_word,f[k].primary);        sort(f[k].sort_word,f[k].sort_word+len);        k++;    }    sort(f,f+k,input_cmp);    strcpy(G[0].primary,f[0].primary);    G[0].num=1;    G[0].begins=0;    int groupnum=1;    for(int i=1;i<k;i++)    {        if( strcmp(f[i].sort_word,f[i-1].sort_word)==0 )            G[groupnum-1].num++;        else        {            G[groupnum].num=1;            strcpy(G[groupnum].primary,f[i].primary);            G[groupnum].begins=i;            groupnum++;        }    }    sort(G,G+k,groupcmp);    /*for(int i=0;i<k;i++)        printf("Primary is %s size is %d\n",G[i].primary,G[i].num);    puts("");*/    int pos;    for(int i=0;i<5;i++)    {        printf("Group of size %d:",G[i].num);        pos=G[i].begins;        bool flag=0;        for(int j=0;j<G[i].num;j++)        {            flag=0;            for(int k=j-1;k>=0;k--)            {                if(strcmp(f[k].primary,f[j].primary)==0)//初始一样的字符串只输出一次                {                    flag=1;                    break;                }            }            if(!flag)                printf(" %s",f[j+pos].primary);        }        puts(" .");        //puts( f[G[i].num-1].primary );    }    return 0;}
0 0
原创粉丝点击