제출 #405008

#제출 시각아이디문제언어결과실행 시간메모리
405008HazemJakarta Skyscrapers (APIO15_skyscraper)C++14
100 / 100
998 ms225564 KiB
#include <bits/stdc++.h> using namespace std; #define LL long long #define F first #define S second #define pii pair<int,int> #define piii pair<pair<int,int>,int> const int N = 3e4+10; const int M = 3e2+10; const LL INF = 1e9; const LL LINF = 2e18; const LL MOD = 1e9+7; const double PI = 3.141592653589793; bool vis[N][N]; queue<pair<int,int>>que; vector<int>vec[N]; int n,m,vis1[N],cnt; int bfs(int st,int end){ que.push({st-1,0}); while(!que.empty()){ int u = que.front().F%max(n,m)+1,dis = que.front().S; int p = que.front().F/max(n,m); if(u==end) return dis; que.pop(); vec[u].push_back(p); int sz = vec[u].size(); for(int i=vis1[u]?sz-1:0;i<sz;i++){ int x = vec[u][i]; if(u-x>=1) if(!vis[u-x][x]) que.push({u-x-1+x*max(n,m),dis+1}),vis[u-x][x] = 1,cnt++; if(u+x<=n) if(!vis[u+x][x]) que.push({u+x-1+x*max(n,m),dis+1}),vis[u+x][x] = 1,cnt++; } vec[u].pop_back(); vis1[u] = 1; } return -1; } int main(){ //freopen("out.txt","w",stdout); //freopen("doge_5_18.in","r",stdin); scanf("%d%d",&n,&m); int start,end; for(int i=1;i<=m;i++){ int p,pos; scanf("%d%d",&pos,&p); pos++; vec[pos].push_back(p); if(i==1)start = pos; if(i==2)end = pos; } assert(start>=1&&start<=n&&end>=1&&end<=n); printf("%d\n",bfs(start,end)); //printf("%d\n",cnt); }

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

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:62:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   62 |     scanf("%d%d",&n,&m);
      |     ~~~~~^~~~~~~~~~~~~~
skyscraper.cpp:67:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   67 |         scanf("%d%d",&pos,&p);
      |         ~~~~~^~~~~~~~~~~~~~~~
skyscraper.cpp:76:11: warning: 'end' may be used uninitialized in this function [-Wmaybe-uninitialized]
   76 |     printf("%d\n",bfs(start,end));
      |     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
skyscraper.cpp:76:11: warning: 'start' may be used uninitialized in this function [-Wmaybe-uninitialized]
#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...