12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #include <stdio.h>
- #include <stdlib.h>
- int same_set(int a[], int b[], int len) {
- // 创建两个哈希表,记录每个数组中元素的出现次数
- int count_a[101] = {0}; // 假设数组元素值的范围是0-100
- int count_b[101] = {0};
- int i;
-
- // 记录数组a中每个元素的出现次数
- for (i = 0; i < len; i++) {
- count_a[a[i]]++;
- }
- // 记录数组b中每个元素的出现次数
- for (i = 0; i < len; i++) {
- count_b[b[i]]++;
- }
- // 比较两个哈希表中的元素出现次数
- for (i = 0; i < 101; i++) {
- if (count_a[i] != count_b[i]) {
- return 0;
- }
- }
- return 1;
- }
- int main() {
- int len;
- // 读取数组元素个数
- scanf("%d", &len);
- int a[len];
- int b[len];
- int i;
- // 读取第一个数组的各个值
- for (i = 0; i < len; i++) {
- scanf("%d", &a[i]);
- }
- // 读取第二个数组的各个值
- for (i = 0; i < len; i++) {
- scanf("%d", &b[i]);
- }
- // 调用same_set函数并输出结果
- if (same_set(a, b, len)) {
- printf("1\n");
- } else {
- printf("0\n");
- }
- return 0;
- }
|