제출 #559726

#제출 시각아이디문제언어결과실행 시간메모리
559726ala2벽 칠하기 (APIO20_paint)C++14
0 / 100
0 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;
            }
        for(int i=0;i<v.size();i++)
        {
            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:22: 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:22: 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:26: 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:65:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   65 |         for(int i=0;i<v.size();i++)
      |                     ~^~~~~~~~~
paint.cpp:67:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   67 |             if(i==v.size()-1)
      |                ~^~~~~~~~~~~~
paint.cpp:88:8: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   88 |        if(bb)
      |        ^~
paint.cpp:90:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   90 |         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...