Advertisement
WhiteGazelle

D.ml

May 8th, 2018
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
OCaml 0.85 KB | None | 0 0
  1. let (n,p) = Scanf.scanf " %d %d" (fun a b -> (a, b));;
  2.  
  3. let m = Array.make_matrix n (n*n) 0;;
  4. let flag = ref 0
  5.  
  6. let rec checkway m b c =
  7.     if m.(b-1).(c-1) = 1 then flag := 1
  8.     else
  9.         for i = 0 to (n-1) do
  10.             if m.(b-1).(i) = 1 then checkway m (b+1) c
  11.         done;
  12.     if flag = ref 0 then print_endline("NO")
  13.     else print_endline("YES");
  14.  
  15.     for i = 0 to (p-1) do
  16.       let (a,b,c) = Scanf.scanf " %s %d %d" (fun a b c -> (a, b, c)) in
  17.       if a = "ADD" then m.(b-1).(c-1)<-1
  18.       else if a = "DEL" then m.(b-1).(c-1)<-0
  19.       else checkway m b c;
  20.       Printf.printf "a=%s b=%d c=%d \n" a b c;
  21.     done;
  22.    
  23.     let mm = Array.make_matrix n (n*n);;
  24.     for i = 0 to (p-1) do
  25.        
  26.  
  27.     for i = 0 to (n-1) do
  28.       for j = 0 to (n-1) do
  29.         print_int m.(i).(j)
  30.       done;
  31.       print_newline();
  32.     done;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement