답안 #355517

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
355517 2021-01-22T15:51:33 Z kshitij_sodani "The Lyuboyn" code (IZhO19_lyuboyn) C++14
16 / 100
647 ms 57380 KB
//#pragma GCC optimize("Ofast,unroll-loops")
#include <bits/stdc++.h>
using namespace std;
typedef long long llo;
#define mp make_pair
#define pb push_back
#define a first 
#define b second
#define endl '\n'
int n,k,t;
vector<vector<int>> solve(int n){
	if(n==1){
		return {{0},{1}};
		return {{0,0},{0,1},{1,1},{1,0}};
	}
	else{
		vector<vector<int>> aa=solve(n-1);
		vector<vector<int>> bb=solve(n-1);
		reverse(bb.begin(),bb.end());
		for(int i=0;i<aa.size();i++){
			aa[i].pb(0);
			bb[i].pb(1);
		}
		for(int i=0;i<bb.size();i++){
			aa.pb(bb[i]);
		}
		return aa;
	}
}
int it[20];
int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cin>>n>>k>>t;
	string s;
	cin>>s;
	for(int i=0;i<n;i++){
		it[i]=s[i]-'0';
	}
	if(k==1){
		vector<vector<int>> ans=solve(n);
		int ind=-1;
		for(int i=0;i<ans.size();i++){
			int st=1;
			for(int j=0;j<n;j++){
				if(ans[i][j]!=it[j]){
					st=0;
				}
			}
			if(st==1){
				ind=i;
			}
		}
		cout<<ans.size()<<endl;
		int cot=0;
		for(int jj=ind;jj<ans.size();jj++){
			for(auto i:ans[jj]){
				cout<<(i);

			}
			cout<<endl;
			cot++;
		}
		for(int jj=0;jj<ind;jj++){
			for(auto i:ans[jj]){
				cout<<(i);
			}
			cout<<endl;
			cot++;
		}
	}
	else if(n==4 and k==3){
		vector<vector<int>> ans=solve(n);
		int ind=-1;
		for(int i=0;i<ans.size();i++){
			int st=1;
			for(int j=0;j<n;j++){
				if(ans[i][j]!=it[j]){
					st=0;
				}
			}
			if(st==1){
				ind=i;
			}
		}
		cout<<ans.size()<<endl;
		int cot=0;
		for(int jj=ind;jj<ans.size();jj++){
			for(auto i:ans[jj]){
				cout<<(i^(cot%2));

			}
			cout<<endl;
			cot++;
		}
		for(int jj=0;jj<ind;jj++){
			for(auto i:ans[jj]){
				cout<<(i^(cot%2));
			}
			cout<<endl;
			cot++;
		}


	}
	
 
	return 0;
}

Compilation message

lyuboyn.cpp: In function 'std::vector<std::vector<int> > solve(int)':
lyuboyn.cpp:20:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |   for(int i=0;i<aa.size();i++){
      |               ~^~~~~~~~~~
lyuboyn.cpp:24:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |   for(int i=0;i<bb.size();i++){
      |               ~^~~~~~~~~~
lyuboyn.cpp: In function 'int main()':
lyuboyn.cpp:43:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |   for(int i=0;i<ans.size();i++){
      |               ~^~~~~~~~~~~
lyuboyn.cpp:56:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   56 |   for(int jj=ind;jj<ans.size();jj++){
      |                  ~~^~~~~~~~~~~
lyuboyn.cpp:75:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   75 |   for(int i=0;i<ans.size();i++){
      |               ~^~~~~~~~~~~
lyuboyn.cpp:88:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   88 |   for(int jj=ind;jj<ans.size();jj++){
      |                  ~~^~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 364 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 364 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 647 ms 57380 KB Ok
2 Correct 293 ms 28236 KB Ok
3 Correct 2 ms 492 KB Ok
4 Correct 0 ms 364 KB Ok
5 Correct 1 ms 364 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 364 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 364 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 647 ms 57380 KB Ok
2 Correct 293 ms 28236 KB Ok
3 Correct 2 ms 492 KB Ok
4 Correct 0 ms 364 KB Ok
5 Correct 1 ms 364 KB Ok
6 Incorrect 0 ms 364 KB Unexpected end of file - int32 expected
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 364 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -