Friday, April 24, 2015

UVa 11962 - DNA II

// UVa 11962 - DNA II

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

int main() {
	map<char, int> digFor;
	digFor['A'] = 0;
	digFor['C'] = 1;
	digFor['G'] = 2;
	digFor['T'] = 3;

	int cases;
	cin >> cases;
	string line;
	getline(cin, line);
	for (int cas = 1; cas <= cases; cas++) {
		getline(cin, line);
		int n = line.length();
		unsigned long long index = 0;
		for (int i = 0; i < n; i++)
			index = (index << 2) | digFor[line[i]];
		printf("Case %d: (%d:%lld)\n", cas, n, index);
	}
	return 0;
}

No comments:

Post a Comment