POJ 1318
来源:互联网 发布:java mvc框架下载架包 编辑:程序博客网 时间:2024/05/17 04:56
poj1318
#include<iostream>#include<fstream>#include<cstdlib>using namespace std;//#define DEBUGstruct word{ char str[8]; char id[8]; int len;};int cmp(const void *a, const void *b)/* 升序排列 */{return *(char *)a - *(char *)b;}int strcmp(const void *a, const void *b)/* 升序排列 */{struct word aa = *(struct word*)a; struct word bb = *(struct word*)b;return strcmp(aa.str, bb.str);}static struct word dict[100];/* void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *)) */int main(){#ifdef DEBUGfstream cin("G:\\book\\algorithms\\acm\\Debug\\dat.txt");#endifint n = 0;char tmp[8];while (true){cin >> tmp;if (!strcmp(tmp, "XXXXXX"))break;int len;dict[n].len = len = strlen(tmp);strcpy(dict[n].str, tmp);qsort(tmp, len, sizeof(tmp[0]), cmp);strcpy(dict[n].id, tmp); n++;}qsort(dict, n, sizeof(dict[0]), strcmp);while (true){cin >> tmp;if (!strcmp(tmp, "XXXXXX"))break;int len = strlen(tmp);int find = 0;qsort(tmp, len, sizeof(tmp[0]), cmp); for(int i = 0; i < n; i++){if (!strcmp(tmp, dict[i].id)){printf("%s\n",dict[i].str);find = 1;}}if (find == 0)printf("NOT A VALID WORD\n");printf("******\n");}return 0;}
该题和编程珠玑上的有道题很相似。 给出一个字典,字典中的单词唯一,一个单词, 找到这个单词在字典中的所有变位词。
变位词是指两个单词的字母相同,组合顺序不同。比如part , trap就互为变位词。解题关键:变位词有相同的特征码。
- POJ 1318
- POJ 1318
- POJ 1318
- poj 1318
- POJ 1318
- POJ 1318 Word Amalgamation
- POJ 1318 Word Amalgamation
- poj 1318 Word Amalgamation
- Poj 1318 字母排序
- POJ 1318 Word Amalgamation
- poj 1318 Word Amalgamation
- poj 1318 Word Amalgamation
- poj 1318 Word Amalgamation
- POJ 1318 字典排序
- POJ-1318 Word Amalgamation
- POJ
- poj
- POJ
- jquery获取font-size属性值的代码
- Oracle12c使用初体验
- Android使用json对中文进行编码 使用php接收时进行解码
- 下载android slim源码
- HDU 3694 Fermat Point in Quadrangle (数学-费马点)
- POJ 1318
- 解决adb command not found以及sdk环境配置
- 一步步学会使用SeaJS 2.0
- jquery $(this)和this的区别
- seajs学习心得和新产品福利
- jquery判断RadioButtonList和RadioButton是否有选中项的例子
- Jquery判断$("#id")获取的对象是否存在的方法
- jquery特效 table鼠标滑过变色的实现代码
- stripslashes和addslashes的区别