。。不知道map的用法就一直TLE
map:可以用来遍历数据
声明
map<string, int> cc;
代码:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include <map>
using namespace std;
char x[41];
//char cc[100000][41];
int ans[100000];
map<string, int> cc;
int main()
{
int t;
while(~scanf("%d",&t))
{ getchar();
int k=0;
memset(ans,0,sizeof(ans));
for(int i=0; i<t; i++)
{ memset(x,0,sizeof(x));
gets(x);
sort(x,x+strlen(x));
printf("%d\n",cc[x]++);
}
} return 0;
}
= =这个是一直TLE的代码
暴力害人
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
using namespace std;
char x[41];
char cc[100000][41];
int ans[100000];
int main()
{
int t;
while(~scanf("%d",&t))
{ getchar();
int k=0;
memset(ans,0,sizeof(ans));
for(int i=0; i<t; i++)
{ memset(x,0,sizeof(x));
gets(x);
int j;
sort(x,x+strlen(X));
if(i==0)
{
ans[0]=0;
strcpy(cc[k++],x);
printf("%d\n",ans[0]);
}
else
{
for(j=0; j<k; j++)
{
if(strcmp(cc[j],x)==0)
{
ans[j]++;
break;
}
}
if(j==k)
{
strcpy(cc[k++],x);
}
printf("%d\n",ans[j]);
}
}
}
return 0;
}