From 48d9d48dadbaad3e08dd02de7166c84eaa89d595 Mon Sep 17 00:00:00 2001
From: Eduardo Mathias <emsouza@inf.ufpr.br>
Date: Wed, 6 Nov 2024 14:26:40 -0300
Subject: [PATCH] =?UTF-8?q?[ADD]=20Restri=C3=A7=C3=A3o=20cabe=C3=A7a?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 mydht     | Bin 20912 -> 20912 bytes
 t2.c      |  18 +++++++++---------
 teste1.in |   2 +-
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/mydht b/mydht
index 6821cb787da2a6a7379ef09fa6d087f00280e3cf..69954a7f3673b1350a5df7c9df79179094008eb8 100644
GIT binary patch
delta 1718
zcmdn6m=T0H7`ZwH7{H)YV6qUS9;Xg7n8%>A*^^P9QP9Nz!iCe5JDJ{#>`>UWAaQbZ
z(Z*Z0k#n<7zO38WHfM7W^Lt*VG~Ug%g7S=$7YK=S9(R2M()@Ds<o`lalRbr3Slj;p
z|KFqA^@B&ZgN8>Zh<5$pVeNW>zm@<0|Nj#v#2)_4FZV0dqw}dp^BaZE+Bco0FZNq7
zFfhC*nXDtC$Q1N<vcHHdlkwllc_P0UXHCu&Eo9R8JNb^NHh+#31A|BB@f{!=UsV5|
zd{JI(vW}Pull||>Nn$IROnyz~6>ntRIJsZEg303NWKM}{#@&-!B~+}^_}`!W#INOh
zCC!7s?nIggf8K!?lYadF58@txa6kX}|Nj%e&Vf$X7sp+nFfuSOygb0bz%bcRQh#!#
z<V+@$|C2?elo(kidr3=84wN$BPY^?LOvd-g6QryJ6_Lf{zyJR~IYCN7!a<<<1*4_w
zpIWZ{Iv{@@{`UWWv+Ey5sHCOqAO4<PP^k5??iB?a`eN?4$=1^L{ACa>#KZaDCU;7!
z^J^iCS$><mUs{}B1zAk^+vJP#5|jT*Yw>rxp77{&eX*Z`k%8gGrLU7+WlZ>|ih!+v
zm|6dIa)*o$zZ$Zb%Gb${Wwf|H2!qwVxbS7NxU3@6+%KE0WX&15dW0atIiDw2%UMp|
zAy>*YA$GE#ybAv;L9h(O;FX^yH_EGPPDU0h{si*(7e<e6*B{*u3YM;4Y7Xz`0)>d?
zr^y%PYh53F`Trl}-tN#R9^I}lI<I+j9)EG*$N&E?&oD4B@NaXyY!h6n*&TWVA?x`a
zq6H)ZR{d%6WCbNA(SMV-D;TMH{RYc^=nlQo?fU?fDm%}CRAv8!rqRyhFHV1$%&(}b
z<NfRZe~;eMJ088hH#~YnFMIU5Uh(Yw;L&-^qnGs^Ka$s8eVCk}sK7Mi!{#Q%I=;;f
z96XGZ3|Q(_QxtUV6c|)f6hahKQxvKhR8tsgL0mT&x0VaU^?`B0YE_d#T-6i?21aRS
z>lq9T3_=VH40rDT{}1wV&4d5{zc4T`^gQ_gpNElwLFVEA|63Rs7+4?u|F6Qxz~KMr
z|9=-o28Ni&|HJ>MFfuSadi?)?3nK%A?$iJOmoPFgR6qUy{|F-kL*29g|3QiR`t$$)
zS(q3Y6kh)SufoK@VEpR;e-|bOhUc&T|4(6JV5och|9=Y;1H=Ef|Nk#xVqjSKZgQ5P
znpDDr|NqrMxz2?hT#~3TFff=fFfef3pS;RY&9LGA|NmfdkP-$41`!4Zh7tw_hKl?D
z|4)F5fhZY}R~Q%=Zcb)2l2>GY`2RmID5JUZ3A8ae^Rh9sF!Hc-Fo0BnJpW;`qmevg
z*yKbbdB(=cjYjf}>nATXl4qPW`Jj<}{pqLw|9hh7c7W^dVPs(V^6dYAVH9~TxcnMM
z28QR)AwkIivz=)*$a0A7ppbj<|NnF*1_ro1a~~5(0myZ47#WlpKE3+?zY*jsxB(R)
zd9VRIObiUclN*iYnXbOxyvX<%=i~;C36nEyJ(y|~HgB>$#>}WOxzf>{(Pi>M$M;M%
z3X?ZExmgy9f=pvz@PkkcTNpu!L4d(o4kEA!LNOeMic3pC1Ux4jI_op?PEK@IXH=Wq
z>FjQKNERXkb{+!*gEbSxq!dYrI5=Dw7#RGZ;@Z*>@#&K}UGj~dLhYLh3Oxn}hB~OK
zLt+qBkx=n2sCc>5<W(+uO#4MA-*RzdS|Gex$@LuvlNA4CAwNB?8U=`^8imPTer}A;
blPCJ=b0R95lYZu051`f01B1<6{>zvExj!{9

delta 1995
zcmdn6m=T0H7`dhjGJwHU!O235dYpTh!90dNn>`uz83nHxK)7&vawpS!k%AoIgfp@n
z$9tG}XidIzFeWeH%dE{k%<p-biug9y3d%DkH@`9P=&Zfr(OG)Iqucd{N2lutk8als
z9-Xc~Ji1+fbPITNyME|q=sf1p%W5IZz~Iq&d<V#;7w-T5{|C!CD1aq(ktMbM{r`X5
z^$kej%g2)+3Q0+JyS@P{V?$Q<?(hHqllKelXXKq+FD%Kv;NSoM6DFLTJYQInk#X`)
zVMV6<e<t4%mSsBdXYz01UySOLzljtwZT&MjQ&gMJL<-3<9FrG`dNZB*HTk{hN~VK9
zC(jaVWVD+sBVNID^vC3B;?*1;KftcNG5LU)*kpYP_WEwuD`59b6h|^9?#KWCY5ea`
ze&W~iy^`j^Uw0zSgFo-U3pS9r2Y=lG2si!5|No!(bq;j8zUX#+0X8NS*%<L3Am2Y>
zWME);`IUiz0US(_Ahd<5;{*lGi}&CE|DRkSp$`w8Ut&nESq_q&FENwp|G&vrl1fbH
z|4lBGlAK&FX~6$M6iHp*x5?Wit@t-0i@AQA{9jUw>E+kS+EO}Pz7VMwhrdovl(Oe%
zgK#17IQ8q~^-}7l-6BXP#((|)zuEN*V{`2n`MQ(fbO3Sw7GzbHUng@*JIVF3ra?qs
zoc;n1<P#p9t}pg8FfuT_c==^=jI;^AEJOjs!f9V7&zJV$UoMPfq4k%^zofOe3L#=I
zo`0UKC!@%;<@4r18FNM+ULmm37tNpk|DWt7t3G+RtN?TK8->ZIWXt5it`q2XeE^P!
zR6(#(h)q{M{{KHYQBrtvu$(aeNdY98xgRH&%BgFLBCAgS2=O%7KnDd&*Dp1P_j55Y
zFuaicIQghtt(ZH=d!RTEec}O%_iG-V$6u&Vj*yoX+VJiFe~_<1;vms2A1AlVD=~fg
zJ9)Ld5u?Q9d-CFZmOsIv^8qBk|NUfU1yx4L$(jl>{000-F1z=Ba)^QgQ_uU&WeRnC
zlMGnugG&;NN~}~<6#P;vKr|NvSVY$@JGC-CIlnXyU9dP>H6_+cHHC{oHAO+!PJzKU
zu_8V*1uWu|pKcVNi{SfNsirU}xMk+0rxwA~sHP}{D5$0=R5PfiFw{<#G!Urw$<NO&
zEdZJ41CepgNGwYQF*EauQ;RZF5*70D74i;mR)AUyQmUE^QlOdwO6rW#%+@m)7#M^Y
z7#Mu+|Nno6fq~)8{r~^JFfcIux&Qw^4<iFZ&x8N}w=gg;ls^3bUxkr@VgJMb|6Ldv
z80;TM{QsZA$iQ&)@&ErVj0_9{Pyhd4!pOi7_w@h&Ba93TiO>H32j#Y1&;S2tVPas&
zdinpq3KIiE?W_O)U6>dc3}65MpTfkzaQ*H7|1C@m4At-c|6jtyz##j6@+|{3sSEf2
z|5pP!(uG|BM5!<^FqkkfFjU-|EM=%>_~G9F|6p;D90LP`2m=E{2`E|I`~QCeR18GP
zFfcImFfcH9PA)W*S1f+;|9=Ch1aRdOXk&8bWn(U9<YDJv0I33b{_^CFhVqP-lP?;|
zGp0=bXeiG(X|kY^JY(r(LnHb6bx;5Q-+-cfIb3%SBLjoo^Z);aQRKPc@@p6w7z|%P
zf|3DdJJV{A<q+FJA^GC}|7A=J3~+hoxlAAhAlJQNWKd%8e*ORd5|FRp2FwP@gAL$e
zVqiEw`J<6MQ{bD;LdM59Cui7tFm)(y-eh}>nQ_PDN=J9bE0Yg8zGv!CoV>}&&GLyT
z$Rq{^KM2LJg%Okx1Q`6~Ap(ma6vJVtc%KABV8diXXMM(o$%)SDj58;9I=fr0mV?NE
zoyNexV9f+E$xaF)4h|Cr1_nQ<I4j6Q3=9m*CUd&v8-0Y@Hx(3e3=9l)P*tYl5Z#eb
z@h+%%p!DQbE_zHxVv}#VxG@QfY*uo8$HAl~Fj>e?kE=rwqNzi1vX`G5<HgAn{q#8z
VweLwkbFKnIh>`-s&0PM=m;kevpQHc)

diff --git a/t2.c b/t2.c
index d51c59a..160369c 100644
--- a/t2.c
+++ b/t2.c
@@ -33,11 +33,11 @@ void redistribute_keys(Node *dht, Node* new_node) {
     Node *start = dht;
     do {
         Node* current = new_node;
-        printf("Start:%d Next:%d\n", start->id, current->id);
-        printf("Start->key_count:%d\n", start->key_count);
+        // printf("Start:%d Next:%d\n", start->id, current->id);
+        // printf("Start->key_count:%d\n", start->key_count);
         //O novo nodo deve ter as chaves EXISTENTES que são maiores que o antecessor e menores ou iguais a ele
         for (int i = 0; i < start->key_count; i++) {
-            printf("Start->keys[%d]:%d\n", i, start->keys[i]);
+            // printf("Start->keys[%d]:%d\n", i, start->keys[i]);
             if (start->keys[i] > start->id && start->keys[i] <= current->id) {
                 current->keys[current->key_count++] = start->keys[i];
                 start->keys[i] = 0;
@@ -174,14 +174,14 @@ Node* remove_node(Node* head, int id) {
 // Função para calcular a tabela finger
 void calculate_finger_table(Node* head, int max_id) {
     Node* current = head;
-    printf("Max_id:%d\n", max_id);
+    // printf("Max_id:%d\n", max_id);
     int log2_max_id = ceil(log2(max_id));
-    printf("Log2_max_id:%d\n", log2_max_id);
+    // printf("Log2_max_id:%d\n", log2_max_id);
     do {
         for (int k = 1; k <= log2_max_id; k++) {
-            printf("N:%d", current->id);
+            // printf("N:%d", current->id);
             int finger_id = (current->id + (1 << (k-1))) % (1 << log2_max_id);
-            printf(" Finger_id:%d\n", finger_id);
+            // printf(" Finger_id:%d\n", finger_id);
             Node* temp = head;
             //Inserir na tabela_finger o id do nó que é o menor id maior que o id do finger_id, ou seja, o id mais próximo do finger_id
             while(temp->id < finger_id && temp->next != head) {
@@ -229,7 +229,7 @@ void print_finger_table_completa(Node* head, int timestamp) {
 
 // Função para realizar lookup de uma chave
 Node ** lookup(Node* head, int timestamp, int node_id, int key, int *num_nodes, int max_id) {
-    printf("Lookup\n");
+    // printf("Lookup\n");
     Node* current = head;
     Node** nodes_involved = (Node**)malloc(TAM_MAX_FINGER * sizeof(Node*));
     *num_nodes = 0;
@@ -310,7 +310,7 @@ void insert_key(Node* head, int node_id, int key) {
     }
 
     current->keys[current->key_count++] = key;
-    printf("Chave %d inserida no nó %d\n", key, current->id);
+    // printf("Chave %d inserida no nó %d\n", key, current->id);
 }
 
 void imprime_chaves(Node* head) {
diff --git a/teste1.in b/teste1.in
index 0d82383..7acfc30 100644
--- a/teste1.in
+++ b/teste1.in
@@ -13,4 +13,4 @@
 13 E 52 -
 14 E 42 -
 15 P 1 -
-16 L 28 58
\ No newline at end of file
+16 L 28 18
\ No newline at end of file
-- 
GitLab