#include#include #define M /* your task*/ #define L 14 char H[M][L]; /* Hash Table */ int getChar(char ch){ if ( ch == 'A') return 1; else if ( ch == 'C') return 2; else if ( ch == 'G') return 3; else if ( ch == 'T') return 4; } /* convert a string into an integer value */ long long getKey(char str[]){ long long sum = 0, p = 1, i; for ( i = 0; i < strlen(str); i++ ){ sum += p*(getChar(str[i])); p *= 5; } return sum; } int h1(int key){ return /* your task */; } int h2(int key){ return /* your task */; } int find(char str[]){ /* your task */ } int insert(char str[]){ /* your task */ } int main(){ int i, n, h; char str[L], com[9]; for ( i = 0; i < M; i++ ) H[i][0] = '\0'; scanf("%d", &n); for ( i = 0; i < n; i++ ){ scanf("%s %s", com, str); if ( com[0] == 'i' ){ insert(str); } else { if (find(str)){ printf("yes\n"); } else { printf("no\n"); } } } return 0; }
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造 (マイナビ)AIZU ONLINE JUDGE のコース問題を題材にした解説書です。初級者が体系的にアルゴリズムとデータ構造の基礎を学ぶことができる入門書となっています。 |