#include <stdio.h>
#include <stdlib.h>
typedef struct node {
int val;
struct node *next;
} Node;
Node *head=NULL;
Node* createN(int x){
Node *newnode;
newnode
= (Node
*)malloc(sizeof(Node
)); newnode->val=x;
newnode->next=NULL;
return newnode;
}
void freeL(void){
Node *p;
while(head !=NULL){
p=head->next;
head=p;
}
}
void printL(void){
Node *p=head;
while(p !=NULL){
p = p->next;
}
}
void makeL(int n,int a[]){
if(n==0) return;
Node *p;
head=createN(a[0]);
p = head;
for (int i=1;i<n;i++){
p->next=createN(a[i]);
p=p->next;
}
}
int main(void){
int i, n;
int *a;
a
=(int *)malloc(sizeof(int)*n
);
for(i=0;i<n;i++){
}
makeL(n,a);
printL();
freeL();
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnR5cGVkZWYgc3RydWN0IG5vZGUgewogICAgaW50IHZhbDsKICAgIHN0cnVjdCBub2RlICpuZXh0Owp9IE5vZGU7CgpOb2RlICpoZWFkPU5VTEw7CgpOb2RlKiBjcmVhdGVOKGludCB4KXsKICAgIE5vZGUgKm5ld25vZGU7CiAgICBuZXdub2RlID0gKE5vZGUqKW1hbGxvYyhzaXplb2YoTm9kZSkpOwogICAgbmV3bm9kZS0+dmFsPXg7CiAgICBuZXdub2RlLT5uZXh0PU5VTEw7CiAgICByZXR1cm4gbmV3bm9kZTsKfQoKdm9pZCBmcmVlTCh2b2lkKXsKICAgIE5vZGUgKnA7CiAgICB3aGlsZShoZWFkICE9TlVMTCl7CiAgICAgICAgcD1oZWFkLT5uZXh0OwogICAgICAgIGZyZWUoaGVhZCk7CiAgICAgICAgaGVhZD1wOwogICAgfQp9Cgp2b2lkIHByaW50TCh2b2lkKXsKICAgIE5vZGUgKnA9aGVhZDsKICAgIHdoaWxlKHAgIT1OVUxMKXsKICAgICAgICBwcmludGYoIiVkIixwLT52YWwpOwogICAgICAgIHAgPSBwLT5uZXh0OwogICAgfQogICAgcHJpbnRmKCJcbiIpOwp9Cgp2b2lkIG1ha2VMKGludCBuLGludCBhW10pewogICAgaWYobj09MCkgcmV0dXJuOwoKICAgIE5vZGUgKnA7CiAgICBoZWFkPWNyZWF0ZU4oYVswXSk7CiAgICBwID0gaGVhZDsKCiAgICBmb3IgKGludCBpPTE7aTxuO2krKyl7CiAgICAgICAgcC0+bmV4dD1jcmVhdGVOKGFbaV0pOwogICAgICAgIHA9cC0+bmV4dDsKICAgIH0KfQoKaW50IG1haW4odm9pZCl7CiAgICBpbnQgaSwgbjsKICAgIGludCAqYTsKCiAgICBzY2FuZigiJWQiLCZuKTsKICAgIGE9KGludCAqKW1hbGxvYyhzaXplb2YoaW50KSpuKTsKCiAgICBmb3IoaT0wO2k8bjtpKyspewogICAgICAgIHNjYW5mKCIlZCIsJmFbaV0pOwogICAgfQoKICAgIG1ha2VMKG4sYSk7CiAgICBwcmludEwoKTsKICAgIGZyZWVMKCk7CiAgICBmcmVlKGEpOyAgCgogICAgcmV0dXJuIDA7Cn0=