Submission #1484428


Source Code Expand

#pragma region include
#include <iostream>
#include <iomanip>
#include <stdio.h>

#include <sstream>
#include <algorithm>
#include <cmath>
#include <complex>

#include <string>
#include <cstring>
#include <vector>
#include <tuple>
#include <bitset>

#include <queue>
#include <complex>
#include <set>
#include <map>
#include <stack>
#include <list>

#include <fstream>
#include <random>
//#include <time.h>
#include <ctime>
#pragma endregion //#include
/////////
#define REP(i, x, n) for(int i = x; i < n; ++i)
#define rep(i,n) REP(i,0,n)
#define ALL(X) X.begin(), X.end()
/////////
#pragma region typedef
typedef long long LL;
typedef long double LD;
typedef unsigned long long ULL;
typedef std::pair<LL,LL> PLL;//
typedef std::pair<int,int> PII;//
#pragma endregion //typedef
////定数
const int INF = (int)1e9;
const LL MOD = (LL)1e9+7;
const LL LINF = (LL)1e18+20;
const double PI = acos(-1.0);
const double EPS = 1e-9;
/////////
using namespace::std;

bool END = false;
int ENDcount = 0;
vector< vector< vector<int> > > word(7);

bool check(vector<int> v){
	++ENDcount;
	if( ENDcount > 420 ){
		END = true;
		return true;
	}
	int size = v.size();
	string A,B;
	for(int i=0;i<size;++i){
		if( v[i]&1 ){
			A += '#';
		}else{
			A += '.';
		}
		if( v[i]&2 ){
			B += '#';
		}else{
			B += '.';
		}
	}
	cout << A << '\n' << B << endl;
	string res;
	cin >> res;
	if( res[0] == 'T' ){
		return true;
	}else if( res[0] == 'F' ){
		return false;
	}
	END = true;
	return true;
}

void make(int POW ){
	if( POW == 0 ){
		vector<int> temp(1);
		for(int i=0;i<4;++i){
			temp[0] = i;
			if( check( temp ) ){
				word[POW].push_back( temp );
			}
		}
		return;
	}
	vector< vector<int> >::iterator itrA,itrB,begin,end;
	begin = word[POW-1].begin();
	end = word[POW-1].end();
	for(itrA=begin;itrA != end;++itrA){
		for(itrB=begin;itrB != end;++itrB){
			vector<int> temp;
			temp.reserve( 1<<POW );
			temp.insert( temp.end(), itrA->begin(),itrA->end() );
			temp.insert( temp.end(), itrB->begin(),itrB->end() );
			if( check( temp ) ){
				word[POW].push_back( temp );
			}
		}
	}
}

void f(int N,int POW){
	int LEN = (1<<POW);
	int over =2*LEN-N;
	vector< vector<int> >::iterator itrA,itrB,begin,end;
	begin = word[POW].begin();
	end = word[POW].end();
	vector<int> temp(N);
	for(itrA=begin;itrA != end;++itrA){
		for(itrB=begin;itrB != end;++itrB){
			bool flag = true;
			for(int i=0;i<over;++i){
				if( itrA[LEN-1-i] != itrB[over-1-i] ){
					flag = false;
					break;
				}
			}
			if( flag == false ) continue;
			for(int i=0;i<N;++i){
				if( i < LEN ){
					temp[i] = (*itrA)[i];
				}else{
					temp[i] = (*itrB)[i-(N-LEN)];
				}
			}
			if( check( temp ) ){
				if( END ){
					return;
				}
			}
		}
	}
}
void solve(){
	int N;
	cin >> N;
	
	int Len = 0;
	for(Len=0;(1<<Len)<=N;++Len){
		make(Len);
		if( END ){
			return;
		}
	}
	Len >>= 1;
	f(N,Len);
}

#pragma region main
signed main(void){
	std::cin.tie(0);
	std::ios::sync_with_stdio(false);
	std::cout << std::fixed;//小数を10進数表示
	cout << setprecision(16);//小数点以下の桁数を指定//coutとcerrで別	

	solve();
}
#pragma endregion //main()

Submission Info

Submission Time
Task D - Long Blackboard
User akarin55
Language C++14 (GCC 5.4.1)
Score 0
Code Size 3293 Byte
Status QLE
Exec Time 18 ms
Memory 1236 KB

Judge Result

Set Name All
Score / Max Score 0 / 150
Status
WA × 14
QLE × 56
Set Name Test Cases
All 00_small_00.txt, 00_small_01.txt, 00_small_02.txt, 00_small_03.txt, 00_small_04.txt, 00_small_05.txt, 00_small_06.txt, 00_small_07.txt, 00_small_08.txt, 00_small_09.txt, 10_medium_10.txt, 10_medium_11.txt, 10_medium_12.txt, 10_medium_13.txt, 10_medium_14.txt, 10_medium_15.txt, 10_medium_16.txt, 10_medium_17.txt, 10_medium_18.txt, 10_medium_19.txt, 20_large_20.txt, 20_large_21.txt, 20_large_22.txt, 20_large_23.txt, 20_large_24.txt, 20_large_25.txt, 20_large_26.txt, 20_large_27.txt, 20_large_28.txt, 20_large_29.txt, 20_large_30.txt, 20_large_31.txt, 20_large_32.txt, 20_large_33.txt, 20_large_34.txt, 20_large_35.txt, 20_large_36.txt, 20_large_37.txt, 20_large_38.txt, 20_large_39.txt, 20_large_40.txt, 20_large_41.txt, 20_large_42.txt, 20_large_43.txt, 20_large_44.txt, 20_large_45.txt, 20_large_46.txt, 20_large_47.txt, 20_large_48.txt, 20_large_49.txt, 30_large_50.txt, 30_large_51.txt, 30_large_52.txt, 30_large_53.txt, 40_large_54.txt, 40_large_55.txt, 40_large_56.txt, 40_large_57.txt, 40_large_58.txt, 40_large_59.txt, 40_large_60.txt, 40_large_61.txt, 40_large_62.txt, 40_large_63.txt, 40_large_64.txt, 40_large_65.txt, 40_large_66.txt, 40_large_67.txt, 40_large_68.txt, 40_large_69.txt
Case Name Status Exec Time Memory
00_small_00.txt WA 8 ms 720 KB
00_small_01.txt WA 8 ms 720 KB
00_small_02.txt WA 8 ms 724 KB
00_small_03.txt WA 8 ms 596 KB
00_small_04.txt WA 8 ms 720 KB
00_small_05.txt WA 8 ms 720 KB
00_small_06.txt WA 9 ms 720 KB
00_small_07.txt WA 8 ms 592 KB
00_small_08.txt WA 9 ms 724 KB
00_small_09.txt WA 7 ms 716 KB
10_medium_10.txt QLE 15 ms 852 KB
10_medium_11.txt QLE 15 ms 844 KB
10_medium_12.txt QLE 15 ms 720 KB
10_medium_13.txt QLE 13 ms 848 KB
10_medium_14.txt QLE 16 ms 848 KB
10_medium_15.txt QLE 16 ms 848 KB
10_medium_16.txt QLE 16 ms 848 KB
10_medium_17.txt QLE 16 ms 720 KB
10_medium_18.txt QLE 15 ms 852 KB
10_medium_19.txt QLE 16 ms 848 KB
20_large_20.txt QLE 17 ms 1228 KB
20_large_21.txt QLE 17 ms 1228 KB
20_large_22.txt QLE 17 ms 1104 KB
20_large_23.txt QLE 17 ms 1232 KB
20_large_24.txt QLE 17 ms 1232 KB
20_large_25.txt QLE 17 ms 1104 KB
20_large_26.txt QLE 18 ms 1236 KB
20_large_27.txt QLE 16 ms 1228 KB
20_large_28.txt QLE 17 ms 1232 KB
20_large_29.txt QLE 17 ms 1104 KB
20_large_30.txt QLE 17 ms 1228 KB
20_large_31.txt QLE 17 ms 1104 KB
20_large_32.txt QLE 17 ms 1104 KB
20_large_33.txt QLE 17 ms 1104 KB
20_large_34.txt QLE 17 ms 1104 KB
20_large_35.txt QLE 16 ms 1104 KB
20_large_36.txt QLE 17 ms 1236 KB
20_large_37.txt QLE 17 ms 1104 KB
20_large_38.txt QLE 18 ms 1104 KB
20_large_39.txt QLE 17 ms 1104 KB
20_large_40.txt QLE 17 ms 1100 KB
20_large_41.txt QLE 17 ms 1104 KB
20_large_42.txt QLE 17 ms 1104 KB
20_large_43.txt QLE 16 ms 1108 KB
20_large_44.txt QLE 17 ms 1100 KB
20_large_45.txt QLE 16 ms 1104 KB
20_large_46.txt QLE 17 ms 1104 KB
20_large_47.txt QLE 18 ms 1104 KB
20_large_48.txt QLE 17 ms 1236 KB
20_large_49.txt QLE 17 ms 1232 KB
30_large_50.txt WA 3 ms 720 KB
30_large_51.txt WA 3 ms 592 KB
30_large_52.txt WA 3 ms 720 KB
30_large_53.txt WA 3 ms 716 KB
40_large_54.txt QLE 16 ms 848 KB
40_large_55.txt QLE 16 ms 716 KB
40_large_56.txt QLE 17 ms 724 KB
40_large_57.txt QLE 16 ms 848 KB
40_large_58.txt QLE 17 ms 976 KB
40_large_59.txt QLE 15 ms 844 KB
40_large_60.txt QLE 16 ms 1104 KB
40_large_61.txt QLE 16 ms 712 KB
40_large_62.txt QLE 16 ms 724 KB
40_large_63.txt QLE 16 ms 720 KB
40_large_64.txt QLE 16 ms 844 KB
40_large_65.txt QLE 16 ms 720 KB
40_large_66.txt QLE 17 ms 724 KB
40_large_67.txt QLE 16 ms 848 KB
40_large_68.txt QLE 16 ms 972 KB
40_large_69.txt QLE 15 ms 848 KB