题目链接:POJ 2159
也是UVA 1339
题意:
给定两个长度相同且不超过100的字符串,判断能否把其中一个字符串的各个字符重排,然后对26个字母做一个一一映射,使得两个字符串相同。
思路:
字符的位置不重要,重要的是出现次数。先统计两个字符各个字符出现的次数,得到两个数组。由于映射的规则不是固定的,那么只要这两个数组排序后的结果相同,那么输入的两个字符串就可以通过重排和一一映射变得相同。
#include <stdio.h>
#include <string.h>
#define maxn 110
char s1[maxn], s2[maxn];
int a1[27], a2[27],len,i,flag,t;
void sorta(int a[], int len)
{int k;for (int i = 0;i < len-1;i++) {k = i;for (int j = i