Submission #218814

#TimeUsernameProblemLanguageResultExecution timeMemory
218814Lawliet"The Lyuboyn" code (IZhO19_lyuboyn)C++14
5 / 100
189 ms6120 KiB
#include <bits/stdc++.h>

using namespace std;

int n, k, t;

void printBinary(int k)
{
	for(int i = n - 1 ; i >= 0 ; i--)
	{
		if( k & (1 << i) ) printf("1");
		else printf("0");
	}

	printf("\n");
}

int main()
{
	string s;
	cin >> n >> k >> t >> s;

	vector< int > ans;

	ans.push_back( 0 );
	ans.push_back( 1 );

	for(int i = 2 ; i <= 4 ; i++)
	{
		int curSz = ans.size();

		for(int j = 0 ; j < ans.size() ; j++)
			ans[j] = 2*ans[j];

		for(int j = curSz - 1 ; j >= 0 ; j--)
			ans.push_back( ans[j] + 1 );
	}

	for(int i = 1 ; i < ans.size() ; i += 2)
		ans[i] = 15 - ans[i];

	for(int i = 5 ; i <= n ; i++)
	{
		int curSz = ans.size();
		int first = ans.back();

		for(int j = 0 ; j < k - 1 ; j++)
			first ^= (1 << j);

		int indFirst;

		for(int j = 0 ; j < ans.size() ; j++)
			if( ans[j] == first ) indFirst = j;

		for(int j = 0 ; j < ans.size() ; j++)
			ans[j] = 2*ans[j];

		int lim = indFirst - 1;
		if( lim == -1 ) lim = curSz - 1;

		for(int j = indFirst ; j != lim ; j++, j %= curSz)
			ans.push_back( ans[j] + 1 );
	}

	printf("%d\n",(int) ans.size());

	for(int i = 0 ; i < ans.size() ; i++)
		printBinary( ans[i] );
}

Compilation message (stderr)

lyuboyn.cpp: In function 'int main()':
lyuboyn.cpp:32:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j = 0 ; j < ans.size() ; j++)
                   ~~^~~~~~~~~~~~
lyuboyn.cpp:39:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 1 ; i < ans.size() ; i += 2)
                  ~~^~~~~~~~~~~~
lyuboyn.cpp:52:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j = 0 ; j < ans.size() ; j++)
                   ~~^~~~~~~~~~~~
lyuboyn.cpp:55:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j = 0 ; j < ans.size() ; j++)
                   ~~^~~~~~~~~~~~
lyuboyn.cpp:67:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0 ; i < ans.size() ; i++)
                  ~~^~~~~~~~~~~~
lyuboyn.cpp:58:7: warning: 'indFirst' may be used uninitialized in this function [-Wmaybe-uninitialized]
   int lim = indFirst - 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...
#Verdict Execution timeMemoryGrader output
Fetching results...