题目貌似不太难,学姐讲的方法我就不说了,下面是我的思路(主要是找出符合条件的值,另外建链表存储):
http://acm.sdibt.edu.cn:8080/judge/contest/view.action?cid=316#problem/C

 

#include <stdio.h>
#include <stdlib.h>
typedef struct i
{
    int date;
    struct i *next;
} biao;
biao *j(int n)
{
    int i;
    biao *p,*q,*head;
    head=p=q=(biao *)malloc(sizeof(biao));
    p->next=NULL;
    scanf(“%d”,&(p->date));
    for(i=0; i<n-1; i++)
    {
        p=(biao *)malloc(sizeof(biao));
        p->next=NULL;
        scanf(“%d”,&(p->date));
        q->next=p;
        q=p;
    }
    q->next=NULL;
    return head;
}

int main()
{
    int n=0,t=0,n0;
    biao *p1,*p2,*p,*p3,*p4,*p5,*head;
    scanf(“%d”,&n0);
    p1=j(n0);
    scanf(“%d”,&n0);
    p5=p2=j(n0);
    head=p3=p4=(biao *)malloc(sizeof(biao));
    p3->next=NULL;
    while(p1!=NULL)
    {
        n=0;
        while(p2!=NULL)
        {
            if(p1->date==p2->date)
            {
                n++;
                break;
            }
            p2=p2->next;
        }
        p2=p5;
        if(n==0)
        {
            t++;
            p=(biao *)malloc(sizeof(biao));
            p->next=NULL;
            p->date=p1->date;
            p3->next=p;
            p3=p;
        }
        p1=p1->next;
    }
    p4=p4->next;
    while(p4!=NULL)
    {
        printf(“%d “,p4->date);
        p4=p4->next;
    }
    printf(“\n”);
    printf(“%d”,t);
    return 0;
}

发表评论

电子邮件地址不会被公开。

Post Navigation