답안 #918755

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
918755 2024-01-30T11:37:19 Z alexander707070 Navigation 2 (JOI21_navigation2) C++17
컴파일 오류
0 ms 0 KB
#include<bits/stdc++.h>
#include "Anna.h"
using namespace std;


vector< pair<int,int> > calc={ {0,0},{0,1},{0,2},{1,0},{1,1},{1,2},{2,0} };

void Anna(int N, int K, vector<int> R, vector<int> C) {
    for(int t=0;t<K;t++){
        for(int i=0;i<N;i+=3){
            for(int f=0;f<N;f+=3){
                if(R[t]/3<i/3)SetFlag(i+calc[t].first, f+calc[t].second, 1);
                else if(R[t]/3>i/3)SetFlag(i+calc[t].first, f+calc[t].second, 2);
                else if(C[t]/3<f/3)SetFlag(i+calc[t].first, f+calc[t].second, 3);
                else if(C[t]/3>f/3)SetFlag(i+calc[t].first, f+calc[t].second, 4);
                else{
                    if(R[t]==i and C[t]==f)SetFlag(i+calc[t].first, f+calc[t].second, 5);
                    if(R[t]==i and C[t]==f+1)SetFlag(i+calc[t].first, f+calc[t].second, 6);
                    if(R[t]==i and C[t]==f+2)SetFlag(i+calc[t].first, f+calc[t].second, 7);

                    if(R[t]==i+1 and C[t]==f)SetFlag(i+calc[t].first, f+calc[t].second, 8);
                    if(R[t]==i+1 and C[t]==f+1)SetFlag(i+calc[t].first, f+calc[t].second, 9);
                    if(R[t]==i+1 and C[t]==f+2)SetFlag(i+calc[t].first, f+calc[t].second, 10);

                    if(R[t]==i+2 and C[t]==f)SetFlag(i+calc[t].first, f+calc[t].second, 11);
                    if(R[t]==i+2 and C[t]==f+1)SetFlag(i+calc[t].first, f+calc[t].second, 12);
                    if(R[t]==i+2 and C[t]==f+2)SetFlag(i+calc[t].first, f+calc[t].second, 13);
                }
            }
        }
    }

    for(int i=0;i<N;i+=3){
        for(int f=0;f<N;f+=3){
            if(i+2<N and f+1<N)SetFlag(i+2,f+1,14);
            if(i+2<N and f+2<N)SetFlag(i+2,f+2,14);
        }
    }
}
#include<bits/stdc++.h>
#include "Bruno.h"
using namespace std;

int table[4][4],to[4][4];
int num[8];

int sample[8][8];
vector<int> sol;

vector<int> Bruno(int K, vector<int> value) {
    for(int i=1;i<=6;i+=3){
        for(int f=1;f<=6;f+=3){
            sample[i][f]=1;
            sample[i][f+1]=2;
            sample[i][f+2]=3;

            sample[i+1][f]=4;
            sample[i+1][f+1]=5;
            sample[i+1][f+2]=6;

            sample[i+2][f]=7;
            sample[i+2][f+1]=-1;
            sample[i+2][f+2]=-1;
        }
    }

    for(int i=0;i<value.size();i++){
        table[i/3+1][i%3+1]=value[i];
    }

    for(int i=1;i<=3;i++){
        for(int f=1;f<=3;f++){
            bool dali=true;

            for(int k=1;k<=3;k++){
                for(int t=1;t<=3;t++){
                    if(table[k][t]==14 and sample[i+k-1][f+t-1]!=-1)dali=false;
                }
            }

            if(!dali)continue;
            for(int k=1;k<=3;k++){
                for(int t=1;t<=3;t++){
                    to[k][t]=sample[i+k-1][f+t-1];
                }
            }
        }
    }

    for(int t=1;t<=K;t++){
        int res=0,x=2,y=2,ans=0;

        for(int i=1;i<=3;i++){
            for(int f=1;f<=3;f++){
                if(to[i][f]==t)res=table[i][f];
            }
        }

        if(res==1)ans=3;
        else if(res==2)ans=2;
        else if(res==3)ans=1;
        else if(res==4)ans=0;
        else{
            if(to[2][3]!=-1 and to[3][3]!=-1)ans=2;
            else if(to[2][3]!=-1 or to[3][3]!=-1)ans=0;
            else ans=4;
        }

        cout<<ans<<" ";

        sol.push_back(ans);
    }

    return sol;

}

Compilation message

Bruno.cpp: In function 'std::vector<int> Bruno(int, std::vector<int>)':
Bruno.cpp:14:13: error: reference to 'sample' is ambiguous
   14 |             sample[i][f]=1;
      |             ^~~~~~
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from Bruno.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:5854:5: note: candidates are: 'template<class _PopulationIterator, class _SampleIterator, class _Distance, class _UniformRandomBitGenerator> _SampleIterator std::sample(_PopulationIterator, _PopulationIterator, _SampleIterator, _Distance, _UniformRandomBitGenerator&&)'
 5854 |     sample(_PopulationIterator __first, _PopulationIterator __last,
      |     ^~~~~~
Bruno.cpp:8:5: note:                 'int sample [8][8]'
    8 | int sample[8][8];
      |     ^~~~~~
Bruno.cpp:15:13: error: reference to 'sample' is ambiguous
   15 |             sample[i][f+1]=2;
      |             ^~~~~~
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from Bruno.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:5854:5: note: candidates are: 'template<class _PopulationIterator, class _SampleIterator, class _Distance, class _UniformRandomBitGenerator> _SampleIterator std::sample(_PopulationIterator, _PopulationIterator, _SampleIterator, _Distance, _UniformRandomBitGenerator&&)'
 5854 |     sample(_PopulationIterator __first, _PopulationIterator __last,
      |     ^~~~~~
Bruno.cpp:8:5: note:                 'int sample [8][8]'
    8 | int sample[8][8];
      |     ^~~~~~
Bruno.cpp:16:13: error: reference to 'sample' is ambiguous
   16 |             sample[i][f+2]=3;
      |             ^~~~~~
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from Bruno.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:5854:5: note: candidates are: 'template<class _PopulationIterator, class _SampleIterator, class _Distance, class _UniformRandomBitGenerator> _SampleIterator std::sample(_PopulationIterator, _PopulationIterator, _SampleIterator, _Distance, _UniformRandomBitGenerator&&)'
 5854 |     sample(_PopulationIterator __first, _PopulationIterator __last,
      |     ^~~~~~
Bruno.cpp:8:5: note:                 'int sample [8][8]'
    8 | int sample[8][8];
      |     ^~~~~~
Bruno.cpp:18:13: error: reference to 'sample' is ambiguous
   18 |             sample[i+1][f]=4;
      |             ^~~~~~
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from Bruno.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:5854:5: note: candidates are: 'template<class _PopulationIterator, class _SampleIterator, class _Distance, class _UniformRandomBitGenerator> _SampleIterator std::sample(_PopulationIterator, _PopulationIterator, _SampleIterator, _Distance, _UniformRandomBitGenerator&&)'
 5854 |     sample(_PopulationIterator __first, _PopulationIterator __last,
      |     ^~~~~~
Bruno.cpp:8:5: note:                 'int sample [8][8]'
    8 | int sample[8][8];
      |     ^~~~~~
Bruno.cpp:19:13: error: reference to 'sample' is ambiguous
   19 |             sample[i+1][f+1]=5;
      |             ^~~~~~
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from Bruno.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:5854:5: note: candidates are: 'template<class _PopulationIterator, class _SampleIterator, class _Distance, class _UniformRandomBitGenerator> _SampleIterator std::sample(_PopulationIterator, _PopulationIterator, _SampleIterator, _Distance, _UniformRandomBitGenerator&&)'
 5854 |     sample(_PopulationIterator __first, _PopulationIterator __last,
      |     ^~~~~~
Bruno.cpp:8:5: note:                 'int sample [8][8]'
    8 | int sample[8][8];
      |     ^~~~~~
Bruno.cpp:20:13: error: reference to 'sample' is ambiguous
   20 |             sample[i+1][f+2]=6;
      |             ^~~~~~
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from Bruno.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:5854:5: note: candidates are: 'template<class _PopulationIterator, class _SampleIterator, class _Distance, class _UniformRandomBitGenerator> _SampleIterator std::sample(_PopulationIterator, _PopulationIterator, _SampleIterator, _Distance, _UniformRandomBitGenerator&&)'
 5854 |     sample(_PopulationIterator __first, _PopulationIterator __last,
      |     ^~~~~~
Bruno.cpp:8:5: note:                 'int sample [8][8]'
    8 | int sample[8][8];
      |     ^~~~~~
Bruno.cpp:22:13: error: reference to 'sample' is ambiguous
   22 |             sample[i+2][f]=7;
      |             ^~~~~~
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from Bruno.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:5854:5: note: candidates are: 'template<class _PopulationIterator, class _SampleIterator, class _Distance, class _UniformRandomBitGenerator> _SampleIterator std::sample(_PopulationIterator, _PopulationIterator, _SampleIterator, _Distance, _UniformRandomBitGenerator&&)'
 5854 |     sample(_PopulationIterator __first, _PopulationIterator __last,
      |     ^~~~~~
Bruno.cpp:8:5: note:                 'int sample [8][8]'
    8 | int sample[8][8];
      |     ^~~~~~
Bruno.cpp:23:13: error: reference to 'sample' is ambiguous
   23 |             sample[i+2][f+1]=-1;
      |             ^~~~~~
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from Bruno.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:5854:5: note: candidates are: 'template<class _PopulationIterator, class _SampleIterator, class _Distance, class _UniformRandomBitGenerator> _SampleIterator std::sample(_PopulationIterator, _PopulationIterator, _SampleIterator, _Distance, _UniformRandomBitGenerator&&)'
 5854 |     sample(_PopulationIterator __first, _PopulationIterator __last,
      |     ^~~~~~
Bruno.cpp:8:5: note:                 'int sample [8][8]'
    8 | int sample[8][8];
      |     ^~~~~~
Bruno.cpp:24:13: error: reference to 'sample' is ambiguous
   24 |             sample[i+2][f+2]=-1;
      |             ^~~~~~
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from Bruno.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:5854:5: note: candidates are: 'template<class _PopulationIterator, class _SampleIterator, class _Distance, class _UniformRandomBitGenerator> _SampleIterator std::sample(_PopulationIterator, _PopulationIterator, _SampleIterator, _Distance, _UniformRandomBitGenerator&&)'
 5854 |     sample(_PopulationIterator __first, _PopulationIterator __last,
      |     ^~~~~~
Bruno.cpp:8:5: note:                 'int sample [8][8]'
    8 | int sample[8][8];
      |     ^~~~~~
Bruno.cpp:28:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |     for(int i=0;i<value.size();i++){
      |                 ~^~~~~~~~~~~~~
Bruno.cpp:38:44: error: reference to 'sample' is ambiguous
   38 |                     if(table[k][t]==14 and sample[i+k-1][f+t-1]!=-1)dali=false;
      |                                            ^~~~~~
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from Bruno.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:5854:5: note: candidates are: 'template<class _PopulationIterator, class _SampleIterator, class _Distance, class _UniformRandomBitGenerator> _SampleIterator std::sample(_PopulationIterator, _PopulationIterator, _SampleIterator, _Distance, _UniformRandomBitGenerator&&)'
 5854 |     sample(_PopulationIterator __first, _PopulationIterator __last,
      |     ^~~~~~
Bruno.cpp:8:5: note:                 'int sample [8][8]'
    8 | int sample[8][8];
      |     ^~~~~~
Bruno.cpp:45:30: error: reference to 'sample' is ambiguous
   45 |                     to[k][t]=sample[i+k-1][f+t-1];
      |                              ^~~~~~
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from Bruno.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:5854:5: note: candidates are: 'template<class _PopulationIterator, class _SampleIterator, class _Distance, class _UniformRandomBitGenerator> _SampleIterator std::sample(_PopulationIterator, _PopulationIterator, _SampleIterator, _Distance, _UniformRandomBitGenerator&&)'
 5854 |     sample(_PopulationIterator __first, _PopulationIterator __last,
      |     ^~~~~~
Bruno.cpp:8:5: note:                 'int sample [8][8]'
    8 | int sample[8][8];
      |     ^~~~~~
Bruno.cpp:52:19: warning: unused variable 'x' [-Wunused-variable]
   52 |         int res=0,x=2,y=2,ans=0;
      |                   ^
Bruno.cpp:52:23: warning: unused variable 'y' [-Wunused-variable]
   52 |         int res=0,x=2,y=2,ans=0;
      |                       ^