Submission #218845

# Submission time Handle Problem Language Result Execution time Memory
218845 2020-04-02T20:11:28 Z Lawliet Xoractive (IZhO19_xoractive) C++14
Compilation error
0 ms 0 KB
#include "interactive.h"

using namespace std;
typedef pair<int,int> pii;

vector< int > guess(int n) 
{
	vector< int > ans;

	if( n <= 15 )
	{
		for (int i = 1; i <= n; i++)
			ans.push_back( ask(i) );

		return ans;
	}

	int k = 4;

	ans.push_back( v[0] );

	int last = 0;

	while( last < n )
	{
		vector< int > query;

		for(int i = last ; i < last + k && i < n ; i++)
			query.push_back( i + 1 );

		int qtdNumbers = query.size();

		vector< int > aux = get_pairwise_xor( query );
		vector< int > answerQuery;

		for(int i = qtdNumbers ; i < aux.size() ; i += 2)
			answerQuery.push_back( aux[i] );

		vector< pii > allPairs;

		for(int i = 0 ; i < qtdNumbers.size() ; i++)
			for(int j = i + 1 ; j < qtdNumbers ; j++)
				allPairs.push_back( { i , j } );

		do
		{
			vector< int > values( qtdNumbers , 0 );
			values[0] = ans[last];

			for(int i = 0 ; i < allPairs.begin() ; i++)
			{
				if( allPairs[i].first != 0 ) continue;
				int curInd = allPairs[i].second;

				values[curInd] = aux[i]^values[0];
			}

			vector< int > allXor;

			for(int i = 0 ; i < qtdNumbers ; i++)
				for(int j = i + 1 ; j < qtdNumbers ; j++)
					allXor.push_back( values[i]^values[j] );

			sort( allXor.begin() , allXor.end() );

			if( allXor == answerQuery )
			{
				for(int i = 1 ; i < qtdNumbers ; i++)
					ans.push_back( values[i] );

				break;
			}

		} while( next_permutation( allPairs.begin() , allPairs.end() ));

		last = last + k;
	}

	return ans;
}

Compilation message

Xoractive.cpp: In function 'std::vector<int> guess(int)':
Xoractive.cpp:20:17: error: 'v' was not declared in this scope
  ans.push_back( v[0] );
                 ^
Xoractive.cpp:36:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i = qtdNumbers ; i < aux.size() ; i += 2)
                            ~~^~~~~~~~~~~~
Xoractive.cpp:41:34: error: request for member 'size' in 'qtdNumbers', which is of non-class type 'int'
   for(int i = 0 ; i < qtdNumbers.size() ; i++)
                                  ^~~~
Xoractive.cpp:50:22: error: no match for 'operator<' (operand types are 'int' and 'std::vector<std::pair<int, int> >::iterator {aka __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >}')
    for(int i = 0 ; i < allPairs.begin() ; i++)
                    ~~^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/7/vector:60,
                 from interactive.h:5,
                 from Xoractive.cpp:1:
/usr/include/c++/7/bits/stl_pair.h:449:5: note: candidate: template<class _T1, class _T2> constexpr bool std::operator<(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
     ^~~~~~~~
/usr/include/c++/7/bits/stl_pair.h:449:5: note:   template argument deduction/substitution failed:
Xoractive.cpp:50:39: note:   mismatched types 'const std::pair<_T1, _T2>' and 'int'
    for(int i = 0 ; i < allPairs.begin() ; i++)
                                       ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/vector:60,
                 from interactive.h:5,
                 from Xoractive.cpp:1:
/usr/include/c++/7/bits/stl_iterator.h:305:5: note: candidate: template<class _Iterator> bool std::operator<(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
     operator<(const reverse_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:305:5: note:   template argument deduction/substitution failed:
Xoractive.cpp:50:39: note:   mismatched types 'const std::reverse_iterator<_Iterator>' and 'int'
    for(int i = 0 ; i < allPairs.begin() ; i++)
                                       ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/vector:60,
                 from interactive.h:5,
                 from Xoractive.cpp:1:
/usr/include/c++/7/bits/stl_iterator.h:343:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator<(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
     operator<(const reverse_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:343:5: note:   template argument deduction/substitution failed:
Xoractive.cpp:50:39: note:   mismatched types 'const std::reverse_iterator<_Iterator>' and 'int'
    for(int i = 0 ; i < allPairs.begin() ; i++)
                                       ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/vector:60,
                 from interactive.h:5,
                 from Xoractive.cpp:1:
/usr/include/c++/7/bits/stl_iterator.h:1142:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator<(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)
     operator<(const move_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:1142:5: note:   template argument deduction/substitution failed:
Xoractive.cpp:50:39: note:   mismatched types 'const std::move_iterator<_IteratorL>' and 'int'
    for(int i = 0 ; i < allPairs.begin() ; i++)
                                       ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/vector:60,
                 from interactive.h:5,
                 from Xoractive.cpp:1:
/usr/include/c++/7/bits/stl_iterator.h:1148:5: note: candidate: template<class _Iterator> bool std::operator<(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)
     operator<(const move_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:1148:5: note:   template argument deduction/substitution failed:
Xoractive.cpp:50:39: note:   mismatched types 'const std::move_iterator<_IteratorL>' and 'int'
    for(int i = 0 ; i < allPairs.begin() ; i++)
                                       ^
In file included from /usr/include/c++/7/vector:64:0,
                 from interactive.h:5,
                 from Xoractive.cpp:1:
/usr/include/c++/7/bits/stl_vector.h:1613:5: note: candidate: template<class _Tp, class _Alloc> bool std::operator<(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)
     operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
     ^~~~~~~~
/usr/include/c++/7/bits/stl_vector.h:1613:5: note:   template argument deduction/substitution failed:
Xoractive.cpp:50:39: note:   mismatched types 'const std::vector<_Tp, _Alloc>' and 'int'
    for(int i = 0 ; i < allPairs.begin() ; i++)
                                       ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/vector:60,
                 from interactive.h:5,
                 from Xoractive.cpp:1:
/usr/include/c++/7/bits/stl_iterator.h:895:5: note: candidate: template<class _Iterator, class _Container> bool __gnu_cxx::operator<(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&)
     operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:895:5: note:   template argument deduction/substitution failed:
Xoractive.cpp:50:39: note:   mismatched types 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>' and 'int'
    for(int i = 0 ; i < allPairs.begin() ; i++)
                                       ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/vector:60,
                 from interactive.h:5,
                 from Xoractive.cpp:1:
/usr/include/c++/7/bits/stl_iterator.h:888:5: note: candidate: template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator<(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&)
     operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:888:5: note:   template argument deduction/substitution failed:
Xoractive.cpp:50:39: note:   mismatched types 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>' and 'int'
    for(int i = 0 ; i < allPairs.begin() ; i++)
                                       ^
Xoractive.cpp:64:4: error: 'sort' was not declared in this scope
    sort( allXor.begin() , allXor.end() );
    ^~~~
Xoractive.cpp:64:4: note: suggested alternative: 'short'
    sort( allXor.begin() , allXor.end() );
    ^~~~
    short
Xoractive.cpp:74:12: error: 'next_permutation' was not declared in this scope
   } while( next_permutation( allPairs.begin() , allPairs.end() ));
            ^~~~~~~~~~~~~~~~