提出 #62692487


ソースコード 拡げる

#include "bits/stdc++.h"
using namespace std;

typedef long long ll;
#define ar array
//~ #define int ll

template<class T, class U> bool umin(T& a, U b) { if(b < a) { a = b; return true; } return false; }
template<class T, class U> bool umax(T& a, U b) { if(a < b) { a = b; return true; } return false; }

const int mod = 1e9 + 7;
void add(int& a, const int b){
	a += b;
	while(a >= mod) a -= mod;
	while(a < 0) a += mod;
}

void solve(){
	int n; cin >> n;
	
	vector<int> a(n);
	for(int i=0;i<n;i++){
		cin >> a[i];
	}
	
	auto find_ans = [&](vector<int> v){
		int n = v.size();
		vector<vector<int>> tp(n, vector<int>(9, false));
		vector<vector<int>> dp(n, vector<int>(9, false));
		
		if(!v[0] || !v[1]){
			tp[2][5] = dp[2][5] = true;
			if(v[0]){
				for(int t=0;t<9;t++) dp[2][t] = true;
			}
		} else {
			for(int t=0;t<9;t++){
				tp[2][t] = dp[2][t] = true;
			}
		}
		
		auto check = [&](int hash){
			return hash == 5 || hash == 21;
		};
		
		for(int i=2;i + 1<n;i++){
			for(int a=0;a<3;a++){
				for(int b=0;b<3;b++){
					for(int c=0;c<3;c++){
						//~ dp[a * 3 + b] -> dp[b * 3 + c]
						if(check(a * 9 + b * 3 + c) || (v[i] && v[i - 1])){
							tp[i + 1][b * 3 + c] |= dp[i][a * 3 + b];
						}
						
						dp[i + 1][b * 3 + c] |= tp[i][a * 3 + b];
					}
				}
			}
		}
		
		bool ans = dp[n - 1][3];
		
		if(v[n - 1]){
			for(int t=0;t<9;t++){
				ans |= tp[n - 1][t];
				if(v[n - 2]) ans |= dp[n - 1][t];
			}
		}
		
		return ans;
	};
	
	vector<int> b = a;
	b.erase(b.begin());
	b.push_back(a[0]);
	
	if(find_ans(a) || find_ans(b)){
		cout<<"Yes\n";
	} else {
		cout<<"No\n";
	}
	
	//~ if(is || n % 4 == 0) cout<<"Yes\n";
	//~ else cout<<"No\n";
}

signed main(){
	ios_base::sync_with_stdio(0); cin.tie(0);
	
	int t = 1;
	
	//~ cin >> t;
	while(t--){
		solve();
	}
}

提出情報

提出日時
問題 B - Fennec VS. Snuke 2
ユーザ Amunduzbaev
言語 C++ 20 (gcc 12.2)
得点 0
コード長 1888 Byte
結果 RE
実行時間 75 ms
メモリ 33784 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 0 / 600
結果
WA × 2
RE × 1
WA × 57
RE × 11
セット名 テストケース
Sample 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt
All 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 01-random-001.txt, 01-random-002.txt, 01-random-003.txt, 01-random-004.txt, 01-random-005.txt, 01-random-006.txt, 01-random-007.txt, 01-random-008.txt, 01-random-009.txt, 01-random-010.txt, 01-random-011.txt, 01-random-012.txt, 01-random-013.txt, 01-random-014.txt, 01-random-015.txt, 02-large-001.txt, 02-large-002.txt, 02-large-003.txt, 02-large-004.txt, 02-large-005.txt, 02-large-006.txt, 02-large-007.txt, 02-large-008.txt, 02-large-009.txt, 02-large-010.txt, 03-small-001.txt, 03-small-002.txt, 03-small-003.txt, 03-small-004.txt, 03-small-005.txt, 03-small-006.txt, 03-small-007.txt, 03-small-008.txt, 03-small-009.txt, 03-small-010.txt, 03-small-011.txt, 03-small-012.txt, 03-small-013.txt, 03-small-014.txt, 03-small-015.txt, 03-small-016.txt, 03-small-017.txt, 03-small-018.txt, 03-small-019.txt, 03-small-020.txt, 03-small-021.txt, 03-small-022.txt, 03-small-023.txt, 03-small-024.txt, 03-small-025.txt, 03-small-026.txt, 03-small-027.txt, 03-small-028.txt, 03-small-029.txt, 03-small-030.txt, 03-small-031.txt, 03-small-032.txt, 03-small-033.txt, 03-small-034.txt, 03-small-035.txt, 03-small-036.txt, 03-small-037.txt, 03-small-038.txt, 03-small-039.txt, 03-small-040.txt
ケース名 結果 実行時間 メモリ
00-sample-001.txt WA 1 ms 3416 KiB
00-sample-002.txt RE 75 ms 3072 KiB
00-sample-003.txt WA 1 ms 3480 KiB
01-random-001.txt WA 30 ms 27044 KiB
01-random-002.txt WA 16 ms 14936 KiB
01-random-003.txt WA 28 ms 25716 KiB
01-random-004.txt WA 14 ms 13820 KiB
01-random-005.txt WA 24 ms 21500 KiB
01-random-006.txt WA 19 ms 16884 KiB
01-random-007.txt WA 14 ms 13748 KiB
01-random-008.txt WA 32 ms 27504 KiB
01-random-009.txt WA 23 ms 20988 KiB
01-random-010.txt WA 26 ms 22548 KiB
01-random-011.txt WA 8 ms 8036 KiB
01-random-012.txt WA 7 ms 7844 KiB
01-random-013.txt WA 25 ms 22524 KiB
01-random-014.txt WA 3 ms 4412 KiB
01-random-015.txt WA 16 ms 15932 KiB
02-large-001.txt WA 38 ms 33648 KiB
02-large-002.txt WA 37 ms 33680 KiB
02-large-003.txt WA 38 ms 33548 KiB
02-large-004.txt WA 39 ms 33660 KiB
02-large-005.txt WA 38 ms 33784 KiB
02-large-006.txt WA 38 ms 33604 KiB
02-large-007.txt WA 37 ms 33720 KiB
02-large-008.txt WA 38 ms 33696 KiB
02-large-009.txt WA 38 ms 33672 KiB
02-large-010.txt WA 38 ms 33612 KiB
03-small-001.txt RE 74 ms 3216 KiB
03-small-002.txt RE 73 ms 3212 KiB
03-small-003.txt RE 74 ms 3152 KiB
03-small-004.txt RE 73 ms 3140 KiB
03-small-005.txt RE 72 ms 3172 KiB
03-small-006.txt RE 73 ms 3032 KiB
03-small-007.txt RE 72 ms 3192 KiB
03-small-008.txt RE 71 ms 3196 KiB
03-small-009.txt RE 74 ms 3164 KiB
03-small-010.txt RE 74 ms 3212 KiB
03-small-011.txt WA 1 ms 3416 KiB
03-small-012.txt WA 1 ms 3472 KiB
03-small-013.txt WA 1 ms 3484 KiB
03-small-014.txt WA 1 ms 3424 KiB
03-small-015.txt WA 1 ms 3344 KiB
03-small-016.txt WA 1 ms 3400 KiB
03-small-017.txt WA 1 ms 3472 KiB
03-small-018.txt WA 1 ms 3476 KiB
03-small-019.txt WA 1 ms 3540 KiB
03-small-020.txt WA 1 ms 3468 KiB
03-small-021.txt WA 1 ms 3452 KiB
03-small-022.txt WA 1 ms 3540 KiB
03-small-023.txt WA 1 ms 3484 KiB
03-small-024.txt WA 1 ms 3396 KiB
03-small-025.txt WA 1 ms 3484 KiB
03-small-026.txt WA 1 ms 3428 KiB
03-small-027.txt WA 1 ms 3416 KiB
03-small-028.txt WA 1 ms 3388 KiB
03-small-029.txt WA 1 ms 3448 KiB
03-small-030.txt WA 1 ms 3540 KiB
03-small-031.txt WA 1 ms 3480 KiB
03-small-032.txt WA 1 ms 3336 KiB
03-small-033.txt WA 1 ms 3604 KiB
03-small-034.txt WA 1 ms 3416 KiB
03-small-035.txt WA 1 ms 3416 KiB
03-small-036.txt WA 1 ms 3480 KiB
03-small-037.txt WA 1 ms 3384 KiB
03-small-038.txt WA 1 ms 3472 KiB
03-small-039.txt WA 1 ms 3388 KiB
03-small-040.txt WA 1 ms 3488 KiB