您的位置:首页 > 其它

uva 10887 Concatenation of Languages

2013-11-02 20:30 288 查看
简单的哈希应用,我使用set实现的,虽然效率比较低,但是程序比较好写。

#include <stdio.h>
#include <string>
#include <string.h>
#include <set>
using namespace std;

string set1[1600];
string set2[1600];

set<string> s;

void func(int len1, int len2)
{
s.clear();

int i, j;
string str;

for(i=1; i<=len1; i++)
{
for(j=1; j<=len2; j++)
{
str = "";
str.append(set1[i]);
str.append(set2[j]);
s.insert(str);
}
}

printf("%d\n", s.size());
}

int main(void)
{
int N, i, j;
int len1, len2;
char buffer[20];

//freopen("input.dat", "r", stdin);

gets(buffer);
sscanf(buffer, "%d", &N);

for(i=1; i<=N; i++)
{
gets(buffer);
sscanf(buffer, "%d %d", &len1, &len2);

for(j=1; j<=len1; j++)
{
gets(buffer);
set1[j].assign(buffer, strlen(buffer));
}
for(j=1; j<=len2; j++)
{
gets(buffer);
set2[j].assign(buffer, strlen(buffer));
}

printf("Case %d: ", i);
func(len1, len2);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  acm uva