제출 #374182

#제출 시각아이디문제언어결과실행 시간메모리
374182IwanttobreakfreeJakarta Skyscrapers (APIO15_skyscraper)C++17
10 / 100
2 ms512 KiB
#include <iostream> #include <vector> #include <queue> using namespace std; int main(){ cin.tie(NULL); ios::sync_with_stdio(false); int N,M,pos,S,buscar; cin>>N>>M; vector<pair<int,int> > doge(M); vector<int> distancia(N,1e9); for(int i=0;i<M;i++){ cin>>pos>>S; if(i==1)buscar=pos; doge[i]=make_pair(pos,S); } queue <pair<pair<int,int>,int> > q; q.push(make_pair(make_pair(doge[0].first,doge[0].second),0)); distancia[0]=0; while(!q.empty()){ int p=q.front().first.first; int mov=q.front().first.second; int jump=q.front().second; q.pop(); int po=p; int mo=mov; int jum=jump; while(p){ p-=mov; jump++; if(p<0)break; if(distancia[p]>jump){ distancia[p]=jump; //cout<<distancia[p]<<' '<<p<<' '; for(int i=0;i<M;i++)if(doge[i].first==p&&p!=buscar)q.push(make_pair(doge[i],jump)); } } while(po<N){ jum++; po+=mo; if(po>=N)break; if(distancia[po]>jum){ distancia[po]=jum; //cout<<distancia[po]<<' '<<po<<' '; for(int i=0;i<M;i++)if(doge[i].first==po&&po!=buscar)q.push(make_pair(doge[i],jum)); } } } if(distancia[buscar]==1e9)cout<<-1; else cout<<distancia[buscar]; }

컴파일 시 표준 에러 (stderr) 메시지

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:49:20: warning: 'buscar' may be used uninitialized in this function [-Wmaybe-uninitialized]
   49 | if(distancia[buscar]==1e9)cout<<-1;
      |                    ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...