离散题目11

来源:互联网 发布:directx游戏编程入门 编辑:程序博客网 时间:2024/06/05 10:04
#include<stdio.h>int main(){    int n, m, k;    while(scanf("%d %d %d", &n, &m, &k) != EOF)    {    int flag = 1;    int a[10005] = {0}, b[10005] = {0};    int i;    int x;    for(i = 1; i <= n; i++)        scanf("%d", &x);    for(i = 1; i <= m; i++)        {            scanf("%d", &x);            b[x] = 1;        }    int sum = 0;    for(i = 1; i <= 2 * k; i++)   {       scanf("%d", &x);       if(i % 2 != 0)       {           if(a[x] == 0)           {               a[x]++;           }           else            flag = 0;       }       else       {           if(b[x] == 0)           {               flag = 0;           }           else           {               if(b[x] == 1)                {                    sum++;                    b[x]++;                }           }       }   }   if(sum < m)    flag = 0;    if(flag)        printf("YES\n");    else        printf("NO\n");    }    return 0;}