답안 #288538

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
288538 2020-09-01T15:35:38 Z errorgorn "The Lyuboyn" code (IZhO19_lyuboyn) C++14
14 / 100
68 ms 28996 KB
//雪花飄飄北風嘯嘯
//天地一片蒼茫

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/rope>
using namespace std;
using namespace __gnu_pbds;
using namespace __gnu_cxx;
#define ll long long
#define ii pair<ll,ll>
#define iii pair<ii,ll>
#define fi first
#define se second
#define endl '\n'
#define debug(x) cout << #x << " is " << x << endl

#define rep(x,start,end) for(auto x=(start)-((start)>(end));x!=(end)-((start)>(end));((start)<(end)?x++:x--))
#define all(x) (x).begin(),(x).end()
#define sz(x) (int)(x).size()

#define indexed_set tree<ll,null_type,less<ll>,rb_tree_tag,tree_order_statistics_node_update>
//change less to less_equal for non distinct pbds, but erase will bug

mt19937 rng(chrono::system_clock::now().time_since_epoch().count());

int n,k,t;
string s;

vector<string> dp(int i,int j){
	if (j==1){
		vector<string> v;
		string st;
		rep(x,0,i) st+="0";
		v.push_back(st);
		
		rep(x,0,i){
			int temp=sz(v);
			rep(y,temp,0){
				v.push_back(v[y]);
				v.back()[x]='1';
			}
		}
		
		return v;
	}
	else{
		auto v=dp(i-2,j-2);
		vector<string> res;
		
		int t=sz(v);
		rep(x,0,t){
			if (x%2==0) res.push_back("00"+v[x%t]);
			else res.push_back("11"+v[x%t]);
		}
		rep(x,1,t+1){
			if (x%2==0) res.push_back("01"+v[x%t]);
			else res.push_back("10"+v[x%t]);
		}
		rep(x,2,t+2){
			if (x%2==0) res.push_back("00"+v[x%t]);
			else res.push_back("11"+v[x%t]);
		}
		rep(x,3,t+3){
			if (x%2==0) res.push_back("01"+v[x%t]);
			else res.push_back("10"+v[x%t]);
		}
		
		
		return res;
	}
}

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin.exceptions(ios::badbit | ios::failbit);
	
	cin>>n>>k>>t;
	cin>>s;
	
	if (k%2==0){
		cout<<"-1"<<endl;
		return 0;
	}
	
	auto v=dp(n,k);
	
	int idx;
	rep(x,0,sz(v)) if (v[x]==s) idx=x;
	
	cout<<sz(v)<<endl;
	rep(x,0,sz(v)) cout<<v[(x+idx)%sz(v)]<<endl;
}

Compilation message

lyuboyn.cpp: In function 'int main()':
lyuboyn.cpp:95:27: warning: 'idx' may be used uninitialized in this function [-Wmaybe-uninitialized]
   95 |  rep(x,0,sz(v)) cout<<v[(x+idx)%sz(v)]<<endl;
      |                         ~~^~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 384 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 384 KB The values in the output sequence are not pairwise distinct!
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB Ok
2 Correct 0 ms 384 KB Ok
3 Correct 0 ms 384 KB Ok
4 Correct 0 ms 384 KB Ok
5 Correct 0 ms 384 KB Ok
6 Correct 0 ms 384 KB Ok
7 Correct 0 ms 384 KB Ok
8 Correct 1 ms 384 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Correct 51 ms 21716 KB Ok
2 Correct 26 ms 10992 KB Ok
3 Correct 1 ms 384 KB Ok
4 Correct 0 ms 384 KB Ok
5 Correct 1 ms 384 KB Ok
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 384 KB The values in the output sequence are not pairwise distinct!
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 68 ms 28996 KB The values in the output sequence are not pairwise distinct!
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 51 ms 21716 KB Ok
2 Correct 26 ms 10992 KB Ok
3 Correct 1 ms 384 KB Ok
4 Correct 0 ms 384 KB Ok
5 Correct 1 ms 384 KB Ok
6 Incorrect 0 ms 384 KB The values in the output sequence are not pairwise distinct!
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 33 ms 12928 KB The values in the output sequence are not pairwise distinct!
2 Halted 0 ms 0 KB -