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 |
|
|
| 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 |