Advertisement
Foqrul

River and Gate

Apr 25th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.27 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. int T;
  4. int Case;
  5. int p1, p2, p3;
  6. int m1, m2, m3;
  7. int Ans;
  8.  
  9. void readcase(){
  10.     scanf("%d %d", &p1, &m1);
  11.     scanf("%d %d", &p2, &m2);
  12.     scanf("%d %d", &p3, &m3);
  13. }
  14.  
  15. int absDif(int a, int b){
  16.     if (a > b)
  17.         return a - b;
  18.     else
  19.         return b - a;
  20. }
  21.  
  22. int getmax(int a, int b){
  23.     if (a > b)
  24.         return a;
  25.     else
  26.         return b;
  27. }
  28.  
  29. int getmin(int a, int b){
  30.     if (a < b)
  31.         return a;
  32.     else
  33.         return b;
  34. }
  35.  
  36. void solvecase(){
  37.     int i, j, k, left, right, dist1, dist2, dist3, max;
  38.     Ans = 30;
  39.     for (i = 1; i + m1 + m2 + m3 - 1 <= 30; i++){
  40.         left = absDif(p1, i);
  41.         right = absDif(p1, i + m1 - 1);
  42.         dist1 = getmax(left, right);
  43.         for (j = i + m1; j + m2 + m3 - 1 <= 30; j++){
  44.             left = absDif(p2, j);
  45.             right = absDif(p2, j + m2 - 1);
  46.             dist2 = getmax(left, right);
  47.             for (k = j + m2; k + m3 - 1 <= 30; k++){
  48.                 left = absDif(p3, k);
  49.                 right = absDif(p3, k + m3 - 1);
  50.                 dist3 = getmax(left, right);
  51.                
  52.                 max = getmax(dist1,dist2);
  53.                 max = getmax(max, dist3);
  54.                 Ans = getmin(Ans, max);
  55.                
  56.             }
  57.         }
  58.     }
  59. }
  60.  
  61. void printcase(){
  62.     printf("#%d %d\n", Case, Ans);
  63. }
  64.  
  65. int main(){
  66.     freopen("input.txt", "r", stdin);
  67.     scanf("%d", &T);
  68.     for (Case = 1; Case <= T; Case++){
  69.         readcase();
  70.         solvecase();
  71.         printcase();
  72.     }
  73.     return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement