提出 #461862


ソースコード 拡げる

#include <iostream>
#include <string>
using namespace std;
string s[50000];
string ss[5];
bool   sen[4];
int    size[5];
int N;
int getSize(unsigned char c){
	if(c < 0x80){
		return 1;
	}else if(c < 0xE0){
		return 2;
	}else if(c < 0xF0){
		return 3;
	}else{
		return 4;
	}
}

string check(int lv){
	for(int i=0;i<N;i++){
		if(sen[lv]){
			if(ss[lv]==s[i].substr(0,size[lv]) && (lv==0 || ss[4]==s[i].substr(size[lv],size[4])) ){
				if(lv==3)
					return ss[4];
				else{
					size[4]=getSize(s[i][size[lv]]);
					ss[4]=s[i].substr(size[lv],size[4]);
					if(check(lv+1)!="END")
						return check(lv+1);
				}
			}
		}else{
			if(ss[lv]==s[i].substr(getSize(s[i][0]),size[lv]) && (lv==0 || ss[4]==s[i].substr(0,size[4])) ){
				if(lv==3)
					return ss[4];
				else{
					size[4]=getSize(s[i][0]);
					ss[4]=s[i].substr(0,size[4]);
					if(check(lv+1)!="END")
						return check(lv+1);
				}
			}
		}
	}
	return "END";
}

int main(){
	string sss="1234567";
	sss=sss.substr(4,8);
	cin >> N;
	for(int i=0;i<N;i++){
		cin >> s[i];
	}
	cin >> ss[0];
	cin >> ss[1];
	cin >> ss[2];
	cin >> ss[3];
	cin >> ss[4];
	size[0]=getSize(ss[0][4]);
	size[1]=getSize(ss[2][6+getSize(ss[2][0])]);
	size[2]=getSize(ss[4][4]);
	size[3]=getSize(ss[2][0]);
	ss[0]=ss[0].substr(4,size[0]);
	if(ss[1].substr(4,2)=="↓")
		sen[0]=true;
	else
		sen[0]=false;
	if(ss[3].substr(4,2)=="↓")
		sen[2]=false;
	else
		sen[2]=true;
	if(ss[2].substr(4+size[3],2)=="←")
		sen[1]=true;
	else
		sen[1]=false;
	if(ss[2].substr(size[3],2)=="←")
		sen[3]=false;
	else
		sen[3]=true;
	ss[1]=ss[2].substr(6+size[3],size[1]);
	ss[3]=ss[2].substr(0,size[3]);
	ss[2]=ss[4].substr(4,size[2]);
	cout << check(0) << endl;


	return 0;
}

提出情報

提出日時
問題 E - 必殺!無限覇王斬!
ユーザ base64go
言語 C++11 (GCC 4.9.2)
得点 0
コード長 1787 Byte
結果 WA
実行時間 66 ms
メモリ 2860 KiB

ジャッジ結果

セット名 All
得点 / 配点 0 / 100
結果
WA × 22
セット名 テストケース
All 05_sample_00.txt, 05_sample_01.txt, 05_sample_02.txt, 05_sample_03.txt, 05_sample_04.txt, 10_min_00.txt, 10_min_01.txt, 10_min_02.txt, 20_max_00.txt, 20_max_01.txt, 20_max_02.txt, 90_random_00.txt, 90_random_01.txt, 90_random_02.txt, 90_random_03.txt, 90_random_04.txt, 90_random_05.txt, 90_random_06.txt, 90_random_07.txt, 90_random_08.txt, 90_random_09.txt, 99_medium_00.txt
ケース名 結果 実行時間 メモリ
05_sample_00.txt WA 24 ms 1180 KiB
05_sample_01.txt WA 23 ms 1184 KiB
05_sample_02.txt WA 23 ms 1188 KiB
05_sample_03.txt WA 24 ms 1180 KiB
05_sample_04.txt WA 25 ms 1308 KiB
10_min_00.txt WA 25 ms 1308 KiB
10_min_01.txt WA 28 ms 1184 KiB
10_min_02.txt WA 23 ms 1168 KiB
20_max_00.txt WA 65 ms 2780 KiB
20_max_01.txt WA 64 ms 2848 KiB
20_max_02.txt WA 65 ms 2860 KiB
90_random_00.txt WA 28 ms 1312 KiB
90_random_01.txt WA 65 ms 2848 KiB
90_random_02.txt WA 47 ms 2076 KiB
90_random_03.txt WA 65 ms 2852 KiB
90_random_04.txt WA 66 ms 2776 KiB
90_random_05.txt WA 65 ms 2856 KiB
90_random_06.txt WA 66 ms 2852 KiB
90_random_07.txt WA 66 ms 2860 KiB
90_random_08.txt WA 65 ms 2852 KiB
90_random_09.txt WA 63 ms 2848 KiB
99_medium_00.txt WA 65 ms 2848 KiB