제출 #559719

#제출 시각아이디문제언어결과실행 시간메모리
559719ala2벽 칠하기 (APIO20_paint)C++14
0 / 100
1 ms212 KiB
#include "paint.h" #include <vector> #include<bits/stdc++.h> #define F first #define S second #define pb push_back using namespace std; map<pair<int,int>,int>mp; int a[1001000]; vector<int>v; int n,m; int good(int i,int j) { for(int k=0;k<m;k++) { int x=(i+k)%(m); int y=j+k; if( mp[{x,a[y]}]==0 ){ // // cout<<" : "<<x<<" "<<a[y]<<" "<<y<<endl; return 0; } } return 1; } int minimumInstructions(int N, int M, int K, vector<int> C,vector<int> A, vector<vector<int>> B) { n=N; m=M; for(int i=0;i<C.size();i++) { a[i]=C[i]; } for(int i=0;i<B.size();i++) { for(int j=0;j<B[i].size();j++) { mp[{i,B[i][j]}]=1; // cout<<" "<<i+1<<" "<<B[i][j]<<endl; } } int x=n-m; for(int i=0;i<m;i++) { for(int j=0;j<=x;j++) { if(good(i,j)) { v.pb(j); // cout<<" "<<j<<endl; } } } sort(v.begin(),v.end()); int cur=0; int ans=1; int bb=0; if(v.size()==0) { return -1; } if(v[0]!=0) { return -1; } if(n==m) { return 1; } for(int i=1;i<v.size();i++) { if(cur==x) break; if(i==v.size()-1) { if(v[i]==x) { ans++; break; } else { bb=1; break; } } if(v[i]-cur>m) bb=1; if(v[i+1]-cur>m) { ans++; cur=v[i]; } } if(bb) return -1; return ans; }

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

paint.cpp: In function 'int minimumInstructions(int, int, int, std::vector<int>, std::vector<int>, std::vector<std::vector<int> >)':
paint.cpp:29:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |     for(int i=0;i<C.size();i++)
      |                 ~^~~~~~~~~
paint.cpp:33:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |     for(int i=0;i<B.size();i++)
      |                 ~^~~~~~~~~
paint.cpp:35:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |         for(int j=0;j<B[i].size();j++)
      |                     ~^~~~~~~~~~~~
paint.cpp:69:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   69 |     for(int i=1;i<v.size();i++)
      |                 ~^~~~~~~~~
paint.cpp:73:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   73 |         if(i==v.size()-1)
      |            ~^~~~~~~~~~~~
paint.cpp:94:4: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   94 |    if(bb)
      |    ^~
paint.cpp:96:5: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   96 |     return ans;
      |     ^~~~~~
#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...