当前位置 : 主页 > 编程语言 > c语言 >

集合的包含

来源:互联网 收集:自由互联 发布时间:2023-09-03
集合的包含 Time Limit:1000 msMemory Limit:65536 KiB SubmitStatisticDiscuss Problem Description 已知含n个元素的集合的子集A和B,用位串表示法判断是否有A⊆B。 Input 多组测试数据,每组测试数据第1行输


 


集合的包含

Time Limit: 1000 ms Memory Limit: 65536 KiB

Submit Statistic Discuss

Problem Description

已知含n个元素的集合的子集A和B,用位串表示法判断是否有A⊆B。

Input

多组测试数据,每组测试数据第1行输入正整数n(1 <= n <= 100),表示集合元素个数,第2行输入位串表示法形式的集合A,第3行输入位串表示法形式的集合B。

Output

对于每组测试数据,若A⊆B则输出yes,反之则输出no。

Sample Input

10
1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0
10
0 0 0 0 0 1 1 1 1 1
0 0 0 0 0 0 1 1 1 1

Sample Output

yes
no

Hint

集合{1, 3, 5, 7, 9},位串表示法:1 0 1 0 1 0 1 0 1 0
集合{6 7, 8, 9, 10},位串表示法:0 0 0 0 0 1 1 1 1 1
集合{7, 8, 9, 10},位串表示法:0 0 0 0 0 0 1 1 1 1

Source

xry-fhf

#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 int main()
 {
     int i, a[101], n, x;
     while(scanf("%d", &n) != EOF)
     {
         memset(a,0,sizeof(a));
         for(i = 1; i <= n; i++)
         {
             scanf("%d", &x);
             if(x == 1)
             {
                 a[i]++;
             }
         }
         for(i = 1; i <= n; i++)
         {
            scanf("%d", &x);
            if(x == 1)
            {
                a[i]--;
            }
         }
         int flag = 0;
         for(i = 1; i <= n; i++)
         {
             if(a[i] > 0)
             {
                 flag = 1;
             }
         }
         if(flag == 1)
         {
             printf("no\n");
         }
         else
         {
             printf("yes\n");
         }
     }
     return 0;
 }
上一篇:顺序表应用5:有序顺序表归并
下一篇:没有了
网友评论