#include<cstdio>
#include "kollib.h"
#include "message.h"
using namespace std;
int il_jed,ID,wiesz,N;
int SAM(){
int T[N+1];
int ojc,syn,wnuk,a,b, wyn;
ojc=1;
syn=FirstNeighbor(1);
T[1]=0;
int od=0;
while(syn!=1){
wnuk=FirstNeighbor(syn);
od++;
T[syn]=od;
if(wnuk==ojc)wnuk=SecondNeighbor(syn);
}
int m=NumberOfQueries();
for(int i=0;i<m;i++){
a=QueryFrom(i+1);
b=QueryTo(i+1);
wyn=b-a;
if(wyn<0)wyn*=-1;
if(wyn>N-wyn)wyn=N-wyn;
printf("%d\n",wyn);
}
return 0;
}
int main(){
ID=MyNodeId();
if(ID!=0) return 0;
return SAM();
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #include<cstdio> #include "kollib.h" #include "message.h" using namespace std; int il_jed,ID,wiesz,N; int SAM(){ int T[N+1]; int ojc,syn,wnuk,a,b, wyn; ojc=1; syn=FirstNeighbor(1); T[1]=0; int od=0; while(syn!=1){ wnuk=FirstNeighbor(syn); od++; T[syn]=od; if(wnuk==ojc)wnuk=SecondNeighbor(syn); } int m=NumberOfQueries(); for(int i=0;i<m;i++){ a=QueryFrom(i+1); b=QueryTo(i+1); wyn=b-a; if(wyn<0)wyn*=-1; if(wyn>N-wyn)wyn=N-wyn; printf("%d\n",wyn); } return 0; } int main(){ ID=MyNodeId(); if(ID!=0) return 0; return SAM(); } |
English