제출 #443966

#제출 시각아이디문제언어결과실행 시간메모리
443966The_Panonian_SailorT-Covering (eJOI19_covering)C++14
0 / 100
3 ms356 KiB
#include <iostream> #include <algorithm> #include <cstdlib> #include <vector> using namespace std; bool sortpair(pair<int,int>a,pair<int,int>b) { return (a.first<b.first && a.second<b.second); } int main() { long n,m; int temp,k,sum=0; cin>>n>>m; vector<vector<int>> grid(n); bool a[n][m] {false}; for (int i=0; i<n; i++) { for(int j=0; j<m; j++) { cin>>temp; grid[i].push_back(temp); } } cin>>k; vector<pair<int,int>> spec(k); for(int i=0; i<k; i++) { cin>>spec[i].first>>spec[i].second; a[spec[i].first][spec[i].second]=true; } sort (spec.begin(), spec.end(), sortpair); int x=-1, y=-1, z=-1, w=-1; for(int i=0; i<k; i++) { x=-1; y=-1; z=-1; w=-1; if((spec[i].first>0 && spec[i].first<n-1 && spec[i].second>0 && spec[i].second<m-1)&&((a[spec[i].first][spec[i].second-1] && a[spec[i].first][spec[i].second+1]) ||(a[spec[i].first+1][spec[i].second] && a[spec[i].first-1][spec[i].second]) ||(a[spec[i].first+1][spec[i].second] && a[spec[i].first][spec[i].second+1]) ||(a[spec[i].first+1][spec[i].second] && a[spec[i].first][spec[i].second-1]) ||(a[spec[i].first][spec[i].second+1] && a[spec[i].first-1][spec[i].second]) ||(a[spec[i].first][spec[i].second-1] && a[spec[i].first-1][spec[i].second]))) { cout<<"No"<<endl; return 0; } else if((spec[i].first==0 && spec[i].second==0) || (spec[i].first==0 && spec[i].second==m-1) || (spec[i].first==n-1 && spec[i].second==0) || (spec[i].first==n-1 && spec[i].second==m-1)) { cout<<"No"<<endl; return 0; } else if(spec[i].first==0) { sum+=grid[spec[i].first][spec[i].second]; sum+=grid[spec[i].first][spec[i].second+1]; a[spec[i].first][spec[i].second+1]=true; sum+=grid[spec[i].first][spec[i].second-1]; a[spec[i].first][spec[i].second-1]=true; sum+=grid[spec[i].first+1][spec[i].second]; a[spec[i].first+1][spec[i].second]=true; } else if(spec[i].first==n-1) { sum+=grid[spec[i].first][spec[i].second]; sum+=grid[spec[i].first][spec[i].second+1]; a[spec[i].first][spec[i].second+1]=true; sum+=grid[spec[i].first][spec[i].second-1]; a[spec[i].first][spec[i].second-1]=true; sum+=grid[spec[i].first-1][spec[i].second]; a[spec[i].first-1][spec[i].second]=true; } else if(spec[i].second==0) { sum+=grid[spec[i].first][spec[i].second]; sum+=grid[spec[i].first+1][spec[i].second]; a[spec[i].first+1][spec[i].second]=true; sum+=grid[spec[i].first-1][spec[i].second]; a[spec[i].first-1][spec[i].second]=true; sum+=grid[spec[i].first][spec[i].second+1]; a[spec[i].first][spec[i].second+1]=true; } else if(spec[i].second==m-1) { sum+=grid[spec[i].first][spec[i].second]; sum+=grid[spec[i].first+1][spec[i].second]; a[spec[i].first+1][spec[i].second]=true; sum+=grid[spec[i].first-1][spec[i].second]; a[spec[i].first-1][spec[i].second]=true; sum+=grid[spec[i].first][spec[i].second-1]; a[spec[i].first][spec[i].second-1]=true; } else if(a[spec[i].first+1][spec[i].second+1]) { if(a[spec[i].first-1][spec[i].second]==false && a[spec[i].first+1][spec[i].second]==false && a[spec[i].first][spec[i].second+1]==false) { a[spec[i].first-1][spec[i].second]=true; a[spec[i].first+1][spec[i].second]=true; a[spec[i].first][spec[i].second+1]=true; sum+=grid[spec[i].first-1][spec[i].second]+grid[spec[i].first+1][spec[i].second]+grid[spec[i].first][spec[i].second+1]; } else if(a[spec[i].first][spec[i].second+1]==false && a[spec[i].first][spec[i].second-1]==false && a[spec[i].first-1][spec[i].second]==false) { a[spec[i].first][spec[i].second+1]=true; a[spec[i].first][spec[i].second-1]=true; a[spec[i].first-1][spec[i].second]=true; sum+=grid[spec[i].first][spec[i].second+1]+grid[spec[i].first][spec[i].second-1]+grid[spec[i].first-1][spec[i].second]; } } else { if(!a[spec[i].first-1][spec[i].second]) { x=grid[spec[i].first-1][spec[i].second]; } if(!a[spec[i].first+1][spec[i].second]) { y=grid[spec[i].first+1][spec[i].second]; } if(!a[spec[i].first][spec[i].second+1]) { z=grid[spec[i].first][spec[i].second+1]; } if(!a[spec[i].first][spec[i].second-1]) { w=grid[spec[i].first][spec[i].second-1]; } } } return 0; }

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

covering.cpp: In function 'int main()':
covering.cpp:35:9: warning: variable 'x' set but not used [-Wunused-but-set-variable]
   35 |     int x=-1, y=-1, z=-1, w=-1;
      |         ^
covering.cpp:35:15: warning: variable 'y' set but not used [-Wunused-but-set-variable]
   35 |     int x=-1, y=-1, z=-1, w=-1;
      |               ^
covering.cpp:35:21: warning: variable 'z' set but not used [-Wunused-but-set-variable]
   35 |     int x=-1, y=-1, z=-1, w=-1;
      |                     ^
covering.cpp:35:27: warning: variable 'w' set but not used [-Wunused-but-set-variable]
   35 |     int x=-1, y=-1, z=-1, w=-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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...