Guest User

Untitled

a guest
Jul 20th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.33 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. int main()
  5. {
  6. int i,k=1,layer;
  7. char ch[82]={'\0'},type='\0',ch2[82]={'\0'};
  8. char way[21846][30]={'\0'},copyway[30]={'\0'};/*city*/
  9. double jws[21846][3]={'\0'},copy[3]={'\0'};/*jws*/
  10. int human[21846]={'\0'},copy2=0,treelayer[21846]={'\0'};/*humanity*/
  11. while(gets(ch)!=NULL)
  12. {
  13. for(i=0;i<82;i++) /*�Marray*/
  14. ch2[i]='\0';
  15. for(i=0;i<30;i++)
  16. copyway[i]='\0';
  17. for(i=0;i<3;i++)
  18. copy[i]='\0';
  19. copy2=0;
  20.  
  21. type=ch[0];
  22.  
  23. if(type=='I')
  24. {
  25. for(i=18;i<82;i++)
  26. {
  27. ch2[i-18]=ch[i];
  28. }
  29. for(i=2;i<17;i++)
  30. {
  31. copyway[i-2]=ch[i];
  32. }
  33. copy[0]=atof(strtok(ch2," \n\r\t"));
  34. copy[1]=atof(strtok(NULL," \n\r\t"));
  35. copy2 = atoi(strtok(NULL," \n\r\t"));
  36. copy[2]=atof(strtok(NULL," \n\r\t"));
  37. k=1;
  38. layer=1;
  39. while(treelayer[k]!='\0')
  40. {
  41. if(copy[0]<=jws[k][0] && copy[1]<=jws[k][1])
  42. {
  43. k=4*k-2;
  44. layer++;
  45. }
  46. else if(copy[0]<=jws[k][0] && copy[1]>jws[k][1])
  47. {
  48. k=4*k-1;
  49. layer++;
  50. }
  51. else if(copy[0]>jws[k][0] && copy[1]<=jws[k][1])
  52. {
  53. k=4*k;
  54. layer++;
  55. }
  56. else if(copy[0]>jws[k][0] && copy[1]>jws[k][1])
  57. {
  58. k=4*k+1;
  59. layer++;
  60. }
  61. }
  62. /* for(i=0;i<15;i++)
  63. way[k][i]=copyway[i];*/
  64.  
  65.  
  66. strcpy(way[k],copyway);
  67. jws[k][0]=copy[0];
  68. jws[k][1]=copy[1];
  69. human[k]=copy2;
  70. jws[k][2]=copy[2];
  71. treelayer[k]=layer;
  72. printf("OK %s %d\n",way[k],treelayer[k]);
  73. }
  74. else if(type=='Q')
  75. {
  76. for(i=2;i<82;i++)
  77. ch2[i-2]=ch[i];
  78.  
  79. copy[0]=atof(strtok(ch2," \n\r\t"));
  80. copy[1]=atof(strtok(NULL," \n\r\t"));
  81. k=1;
  82. while(!(copy[0]==jws[k][0] && copy[1]==jws[k][1]))
  83. {
  84. if(jws[k][0]=='\0' && jws[k][1]=='\0'){
  85. printf("NO\n");
  86. break;
  87. }
  88. if(copy[0]<=jws[k][0] && copy[1]<=jws[k][1])
  89. {
  90. k=4*k-2;
  91. }
  92. else if(copy[0]<=jws[k][0] && copy[1]>jws[k][1])
  93. {
  94. k=4*k-1;
  95. }
  96. else if(copy[0]>jws[k][0] && copy[1]<=jws[k][1])
  97. {
  98. k=4*k;
  99. }
  100. else if(copy[0]>jws[k][0] && copy[1]>jws[k][1])
  101. {
  102. k=4*k+1;
  103. }
  104. }
  105. if(copy[0]==jws[k][0] && copy[1]==jws[k][1])
  106. printf("%s %d %.1f %d\n",way[k],human[k],jws[k][2],treelayer[k]);
  107. }
  108. else if(type=='E')
  109. {
  110. printf("BYE\n");
  111. }
  112. }
  113. return 0;
  114. }
Add Comment
Please, Sign In to add comment