Advertisement
Josif_tepe

Untitled

Apr 7th, 2021
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.07 KB | None | 0 0
  1. #include <iostream>
  2. #include <queue>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     int minuti;
  8.     int saati;
  9.     int minuti1;
  10.     int saati1;
  11.     cin>>saati>>minuti>>saati1>>minuti1;
  12.  
  13.     queue<int>q;
  14.  
  15.     int niza[]{-1,1,0,0};
  16.     int niza1[]{0,0,-1,1};
  17.  
  18.     bool visited[24][60];
  19.  
  20.   for(int m=0; m<24; m++){
  21.     for(int n=0; n<60; n++){
  22.         visited[m][n]=false;
  23.     }
  24.   }
  25.  
  26.     q.push(saati);
  27.     q.push(minuti);
  28.     q.push(0);
  29.  
  30.     while(!q.empty()){
  31.     int cs=q.front();
  32.     q.pop();
  33.     int cm=q.front();
  34.     q.pop();
  35.     int pritisoci=q.front();
  36.     q.pop();
  37.  
  38.     if((cs==saati1)and(cm==minuti1)){
  39.     cout<<pritisoci;
  40.     return 0;
  41.     }
  42.  
  43.  
  44.     for(int h=0; h<4; h++){
  45.     int ts=cs+niza[h];
  46.     int tm=cm+niza1[h];
  47.  
  48.     if(tm==-1){
  49.     tm=59;
  50.     ts-=1;
  51.     }
  52.  
  53.     if(tm==60){
  54.     tm=0;
  55.     ts+=1;
  56.     }
  57.  
  58.     if(ts==24){
  59.     ts=0;
  60.     }
  61.  
  62.     if(ts==-1){
  63.     ts=23;
  64.     }
  65.     if(visited[ts][tm]==false){
  66.     q.push(ts);
  67.     q.push(tm);
  68.     q.push(pritisoci+1);
  69.     visited[ts][tm]=true;
  70.     }
  71.     }
  72.     }
  73.     return 0;
  74. }
  75.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement