Trở về đầu

foto1 foto2 foto3 foto4 foto5
Nguyễn Tô Sơn - Giảng viên Đại học Sư phạm Hà Nội. SĐT: 091.333.2869

HỌC TIN CÙNG THỦ KHOA

Thành tích hôm nay, Thành công ngày mai !

Tìm kiếm

Đề bài (câu 4): Click here

Download mã nguồn: Click here

#include <iostream>
#include <map>
#include <fstream>

#define fi 		"GENOME.INP"
#define fo 		"GENOME.OUT"
#define MAXDNA 	30

using namespace std;

int n, k;
fstream f;
map<string, int> dem;
map<string, bool> cx;
map<string, int> dodai;

void Nhap() {
	f.open(fi, ios::in);
	f >> n >> k;
	int i, j, t;
	string s, scopy;		
	
	for (t=1; t<=n; t++) {
		f >> s;
		cx.clear();	
		for (i=0; i<MAXDNA; i++) {
			for (j=i; j<MAXDNA; j++) {
				scopy = s.substr(i, j-i+1);
				cx[scopy] = false;
				dodai[scopy] = j - i + 1;
			}						
		}
		map<string, bool>::iterator p;
		for (p=cx.begin(); p!=cx.end(); p++)
			dem[p->first]++;
	}
	f.close();	
}

void KetQua() {
	f.open(fo, ios::out);
	int max = -1;
	map<string, int>::iterator i;
	for (i=dem.begin(); i != dem.end(); i++) 
		if (i->second >= k)
			if (max < dodai[i->first]) 
				max = dodai[i->first];								
	f << max << endl;
	f.close();
}

int main() {
	Nhap();
	KetQua();
}

Bản quyền thuộc về Nguyễn Tô Sơn, Đại học Sư phạm Hà Nội. Điện thoại: 091.333.2869