Ledger Nano X - The secure hardware wallet
SHARE
TWEET

Untitled

a guest Mar 28th, 2020 79 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. ifstream fin ("marte.in");
  5. ofstream fout ("marte.out");
  6. int n,e,p,st,dr,mat[105][105],roci=0,st2,dr2,indice,indice2,ok,copie;
  7. int main()
  8. {
  9.   fin >> n >> e >> p >> st >> dr;
  10.   for(int i=1;i<=n;++i)
  11.   {
  12.       for(int j=1;j<=n;++j)
  13.         fin >> mat[i][j];
  14.   }
  15.   for(int i=1;i<=p;++i)
  16.   {
  17.       fin >> st2 >> dr2;
  18.       if(st>st2)
  19.       {
  20.           indice = st;
  21.           indice2 = dr;
  22.           copie = 1;
  23.           ok=1;
  24.           while(ok==1)
  25.           {
  26.               if(abs(mat[st][dr]-mat[indice][indice2-copie]))
  27.               {
  28.                   ok=1;
  29.                   if(indice==st2 && indice2-copie==dr2)
  30.                   {
  31.                       roci++;
  32.                      ok=0;
  33.                   }
  34.                   else if(indice2-copie==1)
  35.                   {
  36.                       indice--;
  37.                       indice2 = n;
  38.                       if(indice==st2 && indice2==dr)
  39.                       {
  40.                           roci++;
  41.                           ok=0;
  42.                       }
  43.                       else
  44.                         copie=1;
  45.                   }
  46.                   copie++;
  47.               }
  48.           }
  49.       }
  50.       else if(st2>st)
  51.       {
  52.           indice = st;
  53.             indice2 = dr;
  54.             copie = 1;
  55.             ok=1;
  56.               while(ok==1)
  57.               {
  58.                   if(abs(mat[st][dr]-mat[indice][indice2+copie])<=e)
  59.                   {
  60.                       ok=1;
  61.                       if(indice==st2 && indice2+copie == dr2)
  62.                       {
  63.                           roci++;
  64.                          ok=0;
  65.                       }
  66.                       if(indice2+copie==n)
  67.                       {
  68.                           indice++;
  69.                           indice2=1;
  70.                           if(st2==indice && indice2 == dr2)
  71.                           {
  72.                               roci++;
  73.                            ok=0;
  74.                           }
  75.                           else
  76.                             copie = 0;
  77.                       }
  78.                       copie++;
  79.                   }
  80.                   else
  81.                   ok=0;
  82.  
  83.               }
  84.       }
  85.       else if(st==st2)
  86.       {
  87.           if(dr2>dr)
  88.           {
  89.               indice = st;
  90.               indice2 = dr;
  91.               ok=1;
  92.               copie = 1;
  93.               while(ok==1)
  94.               {
  95.                   if(abs(mat[st][dr]-mat[indice][indice2+copie])<=e)
  96.                   {
  97.                       ok=1;
  98.                       if(indice==st2 && indice2+copie == dr2)
  99.                       {
  100.                           roci++;
  101. ok=0;
  102.                       }
  103.                       if(dr+indice2==n)
  104.                       {
  105.                           indice++;
  106.                           indice2 = 1;
  107.                           if(st2==indice && dr2==indice2)
  108.                           {
  109.                               roci++;
  110.                              ok=0;
  111.                           }
  112.                           else
  113.                             copie = 1;
  114.                       }
  115.                       copie++;
  116.                   }
  117.                   else
  118.                    ok=0;
  119.  
  120.               }
  121.           }
  122.           else if(dr>dr2)
  123.           {
  124.              indice = st;
  125.              indice2 = dr;
  126.              copie = 1;
  127.              ok=1;
  128.              while(ok==1)
  129.              {
  130.                  if(abs(mat[st][dr]==mat[indice][indice2-copie]))
  131.                  {
  132.  
  133.                      if(indice==st2 && indice2-copie == dr2)
  134.                      {
  135.                          roci++;
  136.                         ok=0;
  137.                      }
  138.                      if(indice2-copie==1)
  139.                      {
  140.                          indice--;
  141.                          indice2 = n;
  142.                          if(indice==st2 && indice2==dr2)
  143.                          {
  144.                              roci++;
  145.                              ok=0;
  146.                          }
  147.                          else
  148.                             copie=0;
  149.                      }
  150.                      copie++;
  151.                  }
  152.              }
  153.           }
  154.           else if(dr==dr2)
  155.             roci++;
  156.       }
  157.  
  158.   }
  159.   fout << roci;
  160. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top