pku2945.cpp

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· C++ 代码 · 共 58 行

CPP
58
字号
#include <stdio.h>
#include <string.h>
#include <map>
#define SIZE 20001

using namespace std;

typedef struct DNA
{
	char x[21];
};

DNA tmp;
map <DNA, int> m;
int cnt[SIZE];
int N, M;

bool operator < (DNA a, DNA b)
{
	int i;
	return strcmp(a.x, b.x) < 0;
}

bool operator == (DNA a, DNA b)
{
	int i;
	return strcmp(a.x, b.x) == 0;
}

void solve()
{
	int i;
	map <DNA,int>::iterator ir;
	m.clear();
	for (i = 0; i < N; i++)
	{
		memset(tmp.x, 0, sizeof(tmp.x));
		scanf("%s", tmp.x);
		if (m.find(tmp) == m.end())
			m[tmp] = 1;
		else
			m[tmp]++;
	}
	memset(cnt, 0, sizeof(cnt));
	for (ir = m.begin(); ir != m.end(); ir++)
	{
		cnt[ir->second]++;
	}
	for (i = 1; i <= N; i++)
		printf("%d\n", cnt[i]);
}

int main()
{
	while (EOF != scanf("%d %d", &N, &M) && (N || M))
		solve();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?