Submission #46119328


Source Code Expand

#include<bits/stdc++.h>
//#include<atcoder/all>

using namespace std;
//using namespace atcoder;
typedef long long ll;

#define rep(i,n) for(ll i=0;i<n;++i)
#define rrep(i,n) for(ll i=n-1;i>=0;--i)
#define FOR(i,s,e) for(ll i=s;i<=e;++i)
#define FFOR(i,s,e) for(ll i=s;i>=e;--i)

#define yesno(flg) if(flg){cout<<"Yes"<<endl;}else{cout<<"No"<<endl;}
#define ALL(a) (a).begin(),(a).end()
#define mp make_pair
#define pb push_back
#define vl vector<ll>
#define vs vector<string>
#define so(a) sort(a.begin(),a.end())

#define fi first
#define se second
#define print(a) cout<<a<<endl
#define ssize(a) (ll)(a.size())

#define MAX_N 1002
#define i197 1000000007
template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }


const ll INF=1000000000000000001;
struct edge
{
	int to, cost;
};

struct pos{
	// 1 変数を入れる;
	ll t;
	ll x,y;
	set<ll> st;

};
int dx[4] = { 1, 0, -1, 0};
int dy[4] = { 0, 1, 0, -1};
int dd[5] = { 0, 1, 0, -1, 0};

typedef pair<ll, ll> P2;
typedef pair<pair<ll,ll>,ll> P3;
typedef pair<string,ll> Ps;
typedef pair<pair<ll,ll>,pair<ll,ll> > P4;


int main(){

	ios::sync_with_stdio(0);
	cin.tie(0);

	char p[4][4][4][4]={};


	rep(k,3){
		ll l=5,u=5;
		char p1[4][4]={};
		rep(i,4){
			rep(j,4){
				cin>>p1[j][i];
				if(p1[j][i]=='#'){
					chmin(l,j);
					chmin(u,i);
				}
			}
		}
		rep(i,4){
			if(u+i>3)break;
			rep(j,4){
				if(l+j>3)break;
				p[0][k][j][i]=p1[l+j][u+i];
			}
		}
	}
	FOR(l,1,3){
		rep(k,3){
			rep(i,4){
				rep(j,4){
					p[l][k][i][j]=p[l-1][k][j][3-i];
				}
			}
		}
	}

	ll f[4][4]={};
	string ans="No";

	//no.1
	rep(i1,4){
		rep(j1,4){
			rep(k1,4){
				ll f1=0;
				rep(l,4){
					rep(m,4){
						if(p[k1][0][m][l]=='#'){
							if(l+i1>3 || m+j1>3)f1=1;
						}
					}
				}
				if(f1)continue;
				rep(l,4){
					rep(m,4){
						if(l+i1>3 || m+j1>3)continue;
						if(p[k1][0][m][l]=='#')f[m+j1][l+i1]++;
					}
				}

				//no.2
				rep(i2,4){
					rep(j2,4){
						rep(k2,4){
							f1=0;
							rep(l,4){
								rep(m,4){
									if(p[k2][1][m][l]=='#'){
										if(l+i2>3 || m+j2>3)f1=1;
									}
								}
							}
							if(f1)continue;
							rep(l,4){
								rep(m,4){
									if(l+i2>3 || m+j2>3)continue;
									if(p[k2][1][m][l]=='#')f[m+j2][l+i2]++;
								}
							}
							//no.3
							rep(i3,4){
								rep(j3,4){
									rep(k3,4){
										f1=0;
										rep(l,4){
											rep(m,4){
												if(p[k3][2][m][l]=='#'){
													if(l+i3>3 || m+j3>3)f1=1;
												}
											}
										}
										if(f1)continue;
										rep(l,4){
											rep(m,4){
												if(l+i3>3 || m+j3>3)continue;
												if(p[k3][2][m][l]=='#')f[m+j3][l+i3]++;
											}
										}
										//check
										ll che=0;
										rep(i,4){
											rep(j,4){
												if(f[j][i]!=1)che=1;
											}
										}
										if(che==0)ans="Yes";

										//no.3
										rep(l,4){
											rep(m,4){
												if(l+i3>3 || m+j3>3)continue;
												if(p[k3][2][m][l]=='#')f[m+j3][l+i3]--;
											}
										}
									}
								}
							}
							//no.2
							rep(l,4){
								rep(m,4){
									if(l+i2>3 || m+j2>3)continue;
									if(p[k2][1][m][l]=='#')f[m+j2][l+i2]--;
								}
							}
						}
					}
				}
				//no.1
				rep(l,4){
					rep(m,4){
						if(l+i1>3 || m+j1>3)continue;
						if(p[k1][0][m][l]=='#')f[m+j1][l+i1]--;
					}
				}

			}
		}
	}
	print(ans);


	return 0;
}










Submission Info

Submission Time
Task D - Polyomino
User akarinkof
Language C++ 20 (gcc 12.2)
Score 0
Code Size 3752 Byte
Status WA
Exec Time 2 ms
Memory 3632 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 400
Status
AC × 6
AC × 39
WA × 3
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt, 01_random_24.txt, 01_random_25.txt, 01_random_26.txt, 01_random_27.txt, 01_random_28.txt, 01_random_29.txt, 01_random_30.txt, 01_random_31.txt, 01_random_32.txt, 02_corner_00.txt, 02_corner_01.txt, 02_corner_02.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3432 KiB
00_sample_01.txt AC 1 ms 3448 KiB
00_sample_02.txt AC 1 ms 3504 KiB
00_sample_03.txt AC 2 ms 3580 KiB
00_sample_04.txt AC 1 ms 3376 KiB
00_sample_05.txt AC 1 ms 3632 KiB
01_random_00.txt AC 1 ms 3372 KiB
01_random_01.txt AC 1 ms 3436 KiB
01_random_02.txt AC 1 ms 3520 KiB
01_random_03.txt AC 1 ms 3512 KiB
01_random_04.txt AC 1 ms 3508 KiB
01_random_05.txt AC 1 ms 3584 KiB
01_random_06.txt AC 1 ms 3588 KiB
01_random_07.txt AC 1 ms 3496 KiB
01_random_08.txt AC 1 ms 3508 KiB
01_random_09.txt AC 1 ms 3404 KiB
01_random_10.txt AC 1 ms 3512 KiB
01_random_11.txt AC 1 ms 3508 KiB
01_random_12.txt AC 1 ms 3444 KiB
01_random_13.txt AC 1 ms 3504 KiB
01_random_14.txt AC 1 ms 3504 KiB
01_random_15.txt AC 1 ms 3508 KiB
01_random_16.txt AC 1 ms 3576 KiB
01_random_17.txt AC 1 ms 3512 KiB
01_random_18.txt AC 1 ms 3512 KiB
01_random_19.txt AC 1 ms 3432 KiB
01_random_20.txt WA 1 ms 3492 KiB
01_random_21.txt AC 1 ms 3504 KiB
01_random_22.txt AC 1 ms 3448 KiB
01_random_23.txt WA 1 ms 3508 KiB
01_random_24.txt AC 1 ms 3480 KiB
01_random_25.txt AC 1 ms 3512 KiB
01_random_26.txt AC 1 ms 3588 KiB
01_random_27.txt AC 1 ms 3408 KiB
01_random_28.txt AC 1 ms 3432 KiB
01_random_29.txt AC 1 ms 3432 KiB
01_random_30.txt AC 1 ms 3628 KiB
01_random_31.txt WA 1 ms 3500 KiB
01_random_32.txt AC 1 ms 3504 KiB
02_corner_00.txt AC 1 ms 3632 KiB
02_corner_01.txt AC 1 ms 3568 KiB
02_corner_02.txt AC 1 ms 3416 KiB